SQLALCHEMY_TRACK_MODIFICATIONS解决以及db.init(app)
今天写代码的时候遇到了以下问题:
KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'
解决思路:
1.查看在项目中是否出现多个app。然而并没有
2.flask_sqlalchemy版本回退。
pip install sqlalchemy==2.1
还是不起作用,怎么办?愁死人,马上tm上课了!
不知道咋回事,我发现代码里面的db贼可疑,这玩意儿不断的导入。
我的代码类似这样:
# db.py
db = Sqlalchemy()
from db.py import db
def creat_app(config="config.py"):
app = Flask(__name__)
app.config.from_pyfile(config)
db.init_app(app)
return app
查了一下db.init_app(app)后成功解决问题。db = sqlalchemy(),engin为none,
db.init_app(app),engin此时仍然为none.
在使用db.init_app(app)前面添加db.app = app
修改如下:
def creat_app(config="config.py"):
app = Flask(__name__)
app.config.from_pyfile(config)
register_buleprint(app)
db.app = app
db.init_app(app)
return app
[参考文章1]https://blog.csdn.net/zyself/article/details/89789980
[参考文章2]https://www.jb51.net/article/164591.htm