我有多个应用程序,并使用以下样式的flask_sqlalchemy:
from flask import flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def create_app():
app = flask(__name__)
db.init_app(app)
return app
但是,在测试中,所有应用程序都链接到相同的数据库。
切换到以下样式后。每个应用程序都可以链接到其自己的数据库。
from flask import flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def create_app():
app = flask(__name__)
with app.app_context():
db.init_app(app)
return app
我不明白为什么?如果第二种情况更好,为什么不在官方文档中?
信用:我从https://hackingandslacking.com/demystifying-flasks-application-context-c7bd31a53817
复制了第二种样式