首页 > 解决方案 > create_app() 中的 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. See http://flask-sqlalchemy.pocoo.org/contexts/.

我的 create_app() 是:

app = Flask(__name__, static_folder='static')
app.config.from_object(Config)

db.init_app(app)
Migrate().init_app(app, db)


with app.app_context():
    from slackbot.v1 import bp as v1_bp

app.register_blueprint(v1_bp)

from models import SlackerModel,UrlModel,ParaModel
db.create_all()

return app

当它运行 create_app() 时,它会给我错误。但是,当我替换db.create_all()by 行时@manager.command def create_db(): db.create_all() 它不起作用!

标签: pythonflasksqlalchemyflask-sqlalchemy

解决方案


我找到原因了!在模型中。我从 myapp 的 init.py 中导入了“db”,但它应该从我的数据库中导入。


推荐阅读