当前位置:网站首页>flask项目配置
flask项目配置
2022-07-27 05:02:00 【Csdn__F】
1. 创建项目文件,配置虚拟环境
2. 创建app.py文件
from create_app import create_app
from settings.config import DevConfig
app=create_app(DevConfig) # 这里就是flask核心对象
运行
运行
3. 创建create_app.py文件
from flask import Flask
from flask_cors import CORS
# 工厂函数
def create_app(config): # config为config.py中的配置项
# flask核心对象
flask_app = Flask(__name__) # 实例化flask对象
# 跨域
CORS(flask_app)
# 加载配置项
# 注册蓝图
# 绑定db 也就是数据库
return flask_app
4.配置项
4.1 创建settings文件夹,创建config.py文件
# 自定义的基类,可以复用
class DefaultConfig:
SECRET_KEY='fskfjkdgdshljgdfdsfs' # 自定义秘钥
SQLALCHEMY_DATABASE_URI=""
SQLALCHEMY_TRACK_MODIFICATIONS=False
SQLALCHEMY_ECHO=True
JSON_AS_ASCII = False
# 继承上面的基类,更改里面的数据库配置项
class DevConfig(DefaultConfig):
# 用户名:密码@host:port:数据库
# root:[email protected]:3306/p7_day05
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:[email protected]:3306/p7_day05'
4.2 挂载到create_app.py文件中
from flask import Flask
from flask_cors import CORS
# 工厂函数
def create_app(config): # config为config.py中的配置项
# flask核心对象
flask_app = Flask(__name__) # 实例化flask对象
# 跨域
CORS(flask_app)
# 加载配置项
flask_app.config.from_object(config)
# 注册蓝图
# 绑定db 也就是数据库
return flask_app
5.蓝图
5.1 创建views文件夹用来创建蓝图
创建orders.py文件
from flask import Blueprint
from flask_restful import Api, Resource
# url_prefix='/orders' 为当前蓝图所有路由前缀
order_bp = Blueprint("order_bp", __name__, url_prefix='/orders') # 实例化蓝图对象
api = Api(order_bp) # 实例化路由收集器
# 实现增删改查
# 创建类视图
class OrderView(Resource):
def post(self):
return "111"
# 添加路由
api.add_resource(KindView, '/order') # 完整地址就是 /orders/order
5.2 创建完蓝图之后需要到create_app.py文件中注册蓝图
from flask import Flask
from flask_cors import CORS
from views.orders import *
def create_app(config):
flask_app = Flask(__name__) # 实例化flask对象
# 跨域
CORS(flask_app)
# 加载配置项
flask_app.config.from_object(config)
CORS(flask_app)
# 注册蓝图
flask_app.register_blueprint(order_bp) # order_bp就是实例化后的蓝图对象
# 绑定db 也就是数据库
return flask_app
6.模型
6.1 创建models文件夹用来放入模型,在文件夹中创建model.py文件
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy() # 实例化数据库连接对象
# 创建模型类
class OrdersModel(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment="ID")
name = db.Column(db.String(32), comment="名称")
6.2 到create_app.py中绑定模型类
from flask import Flask
from models.model import db
from views.orders import *
def create_app(config):
flask_app = Flask(__name__) # 实例化flask对象
# 跨域
CORS(flask_app)
# 加载配置项
flask_app.config.from_object(config)
CORS(flask_app)
# 注册蓝图
flask_app.register_blueprint(order_bp) # order_bp就是实例化后的蓝图对象
# 要先有配置项中的数据库,在绑定db
# 绑定db 也就是数据库
db.init_app(flask_app)
return flask_app
7. 在项目根目录创建manage.py用来迁移
from app import app
# 导入迁移类和迁移命令类
from flask_migrate import MigrateCommand, Migrate
# 导入管理类
from flask_script import Manager
from models.model import db
manage = Manager(app) # 实例化命令行管理对象
migrate = Migrate(app, db) # 实例化迁移执行类
manage.add_command("db", MigrateCommand) # 给命令行管理对象添加一组命令
if __name__ == '__main__':
manage.run()
00 执行迁移命令
python run.py db init 初始化,只需要初始化一次
python run.py db migrate 生成迁移文件
python run.py db upgrade 迁移
边栏推荐
- Alphabetic order problem
- 2021 OWASP top 6-10 collection
- Flask对模型类的操作
- 李宏毅机器学习组队学习打卡活动day06---卷积神经网络
- Scientific Computing Library -- Matplotlib
- Database design - relational data theory (ultra detailed)
- LocalDateTime和ZonedDateTime
- JVM Part 1: memory and garbage collection -- runtime data area 4 - program counter
- Integrate SSM
- torch中乘法整理,*&torch.mul()&torch.mv()&torch.mm()&torch.dot()&@&torch.mutmal()
猜你喜欢

redis集群

JVM Part 1: memory and garbage collection part 12 -- stringtable

实用小工具: Kotlin 代码片段

JVM Part 1: memory and garbage collection part 11 -- execution engine

JVM Part 1: memory and garbage collection part 7 -- runtime data area heap

JVM Part 1: memory and garbage collection part 10 - runtime data area - direct memory

JVM Part 1: memory and garbage collection part 9 - runtime data area - object instantiation, memory layout and access location

Li Hongyi machine learning team learning punch in activity day02 --- return

创建项目 实现登录注册,生成jwt,发送验证码

稀疏数组→五子棋的存盘续盘等操作
随机推荐
李宏毅机器学习组队学习打卡活动day03---误差和梯度下降
Common commands in CONDA and pip environments
Redis persistence
Set static IP for raspberry pie
numpy 数据类型转化
秒杀系统设计
JVM Part 1: memory and garbage collection part 5 -- runtime data area virtual machine stack
李宏毅机器学习组队学习打卡活动day06---卷积神经网络
Three waiting methods of selenium and three processing methods of alert pop-up
Localdatetime and zoneddatetime
2021 OWASP top 4: unsafe design
pytorch 数据类型 和 numpy 数据 相互转化
用pygame自己动手做一款游戏01
商品图片的管理
Li Hongyi machine learning team learning punch in activity day05 --- skills of network design
Numpy data type conversion
MQ FAQ
B1022 a+b in d-ary
LeetCode刷题之322 Coin Change
[CSAPP] Application of bit vectors | encoding and byte ordering
