前面讲了项目中使用config.py 可以管理开发、生产、测试等环境的配置,这篇继续学习在项目中添加flask_sqlalchemy 和 flask_migrate 的配置
先pip安装flask_sqlalchemy 和 flask_migrate
pip install flask_sqlalchemy
pip install flask_migrate
flask_sqlalchemy是封装了sqlalchemy 实现 ORM 操作数据库,flask_migrate 模块可以实现数据迁移和同步。
flask_sqlalchemy 注册到app中有2种方法
方法一:直接在初始化的时候传app参数
# 初始化组件对象, 直接关联Flask应用
db = SQLAlchemy(app)
方法二:使用db.init_app(app)方法
# 先实例化,后关联app
db = SQLAlchemy()
# 初始化db,关联flask 项目
db.app = app # 这一步需先设置属性,很多老的教程都缺少这一步,导致连不上数据库
db.init_app(app)
我们需要在 create_app() 工厂函数中初始化db实例,但是后面数据库操作会用到db对象,所以db对象就不能写对函数内部(函数内部是局部变量)
db = SQLAlchemy() 实例化数据库操作写到函数外部
from flask import Flask
import