問題報錯:
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