当前位置:网站首页>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 迁移
边栏推荐
猜你喜欢

Multiplication sorting in torch, * & torch. Mul () & torch. MV () & torch. Mm () & torch. Dot () & @ & torch. Mutmal ()

SQL数据库→约束→设计→多表查询→事务

Bean's life cycle & dependency injection * dependency auto assembly

如何快速有效解决数据库连接失败问题

mq设置过期时间、优先级、死信队列、延迟队列

简化JDBC的MyBits框架

Pytorch data type and numpy data are mutually transformed

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

李宏毅机器学习组队学习打卡活动day06---卷积神经网络

JVM Part 1: memory and garbage collection part 8 - runtime data area - Method area
随机推荐
redis事务
整合SSM
B1027 打印沙漏
李宏毅机器学习组队学习打卡活动day02---回归
Li Hongyi machine learning team learning punch in activity day04 - Introduction to deep learning and back propagation mechanism
2021 OWASP top 5: security configuration error
B1026 program running time
强制登录,七牛云上传图片
Flask的传参以及返回的响应
How to get started quickly and strengthen learning?
[optical flow] - data format analysis, flowwarp visualization
JVM Part 1: memory and garbage collection part 6 -- runtime data area local method & local method stack
李宏毅机器学习组队学习打卡活动day03---误差和梯度下降
Rolling Division
ERROR! MySQL is not running, but PID file exists
MQ FAQ
自己动手做一个爬虫项目
JDBC API 详解
李宏毅机器学习组队学习打卡活动day04---深度学习介绍和反向传播机制
Sparse array → saving and continuation of Gobang
