我正在使用工厂函数方法来创建应用程序实例。这是代码:
#factory.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def create_app(config_class=Config):
app = Flask(__name__)
app.config.from_object(Config)
db.init_app(app)
return app
当我使用这种方法并且该应用程序还没有数据库时。如何获得应用程序的db
实例以使用db.create_all()
函数创建数据库架构?
我知道flask-migrate扩展名可以在不存在的情况下进行设置,但想知道使用此方法时可以如何进行。
当我导入数据库实例并使用db.create_all()
时,会出现以下错误:
'No application found. Either work inside a view function or push'
RuntimeError: No application found. Either work inside a view function or push an application context.
即使这种方法也不起作用:
from factory import create_app, db
app = create_app()
with app.app_context():
db.create_all()
即使经过大量谷歌搜索,我仍无法找到任何解决方案。怎么了?