这是Flask应用程序上下文
app = Flask(__name__)
with app.app_context():
# insert code here
应用环境的大多数使用案例都涉及到应用程序'在相同的脚本上初始化或从基础导入应用程序。
我的应用程序结构如下:
# application/__init__.py
def create_app(config):
app = Flask(__name__)
return app
# manage.py
from application import create_app
from flask_script import Manager
manager = Manager(create_app)
manager.add_command("debug", Server(host='0.0.0.0', port=7777))
这可能是一个非常微不足道的问题,但我应该如何使用app.app_context()'来调用它。如果我的应用程序结构如下?
答案 0 :(得分:2)
Flask-Script调用测试上下文中的所有内容,因此您可以使用current_app和其他习语:
Manager在Flask测试上下文中运行命令。这意味着您可以在适当的位置访问请求本地代理,例如current_app,可以由扩展使用。
http://flask-script.readthedocs.org/en/latest/#accessing-local-proxies
因此,您不需要将app.app_context()与Manager脚本一起使用。如果您尝试做其他事情,那么您必须先创建应用:
from application import create_app
app = create_app()
with app.app_context():
# stuff here