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

posted @ 2020-03-17 11:36  FizzPu  阅读(547)  评论(0编辑  收藏  举报