问题报错:
RuntimeError: Working outside of application context.
This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context(). See the documentation for more information.
长这个样子:
使用create.all()创建表
本来可以正常生成一个db文件的,但是现在出现这个报错
查了之后是flask_sqlalchemy版本太高导致
from *** import db
db.create.all()
这种写法在flask_sqlalchemy2.5.1时可以使用
解决办法:
1.卸载flask_sqlalchemy或者直接删除文件夹
重新安装低版本
pip install flask_sqlalchemy==2.5.1
要是就想使用现在的版本(3.x.x)
可以这样写
with app.app_context():
db.create_all()
因为从Flask-SQLAlchemy3.0开始,所有对db.engine
(和db.session
)的访问都需要一个活动的Flask应用程序上下文。db.create_all
使用db.engine
,因此它需要一个应用程序上下文。
更多细节请参考一下网址
https://cloud.tencent.com/developer/ask/sof/107343701