flask:未执行应用程序工厂中的代码
我正在使用标准烧瓶应用程序工厂设置,如下所述: 烧瓶/init.pyflask:未执行应用程序工厂中的代码,flask,Flask,我正在使用标准烧瓶应用程序工厂设置,如下所述: 烧瓶/init.py import os from flask import Flask def create_app(test_config=None): # create and configure the app app = Flask(__name__, instance_relative_config=True) app.config.from_mapping( SECRET_KEY='de
import os
from flask import Flask
def create_app(test_config=None):
# create and configure the app
app = Flask(__name__, instance_relative_config=True)
app.config.from_mapping(
SECRET_KEY='dev',
DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
)
print('Hello World')
...
return app
我使用以下工具运行此应用程序:
出口烧瓶\应用程序=烧瓶
导出环境=开发
烧瓶运行
都很标准。但为什么代码打印(“hello world”)从未执行过
编辑
重新启动我的开发系统后,问题就消失了。很抱歉我发布了此消息。看起来您将文件命名为
init.py
而不是\uu init\uuuuuuuuuuuuuuupy
我猜您使用的是旧版本的flask(1.0),允许自动检测函数创建应用程序
或制作应用程序
(),以从CLIflask
命令启动应用程序
您可以更新烧瓶包,例如使用pip:
pip install --upgrade Flask
或者在\uuuu init\uuuu
文件末尾添加以下行,以显式方式创建应用程序:
if __name__ == "__main__":
app = create_app()
app.run()
您是否看到供应烧瓶应用程序“烧瓶”…*继续http://127.0.0.1:5000/ (按CTRL+C退出).何时运行应用程序?是。烧瓶启动正常。但执行过程中缺少print语句。这是奇怪的部分。如果我明确地启动应用程序,例如使用启动文件:
app.run()
,那么我会看到打印语句。哦,哦,在重新启动我的开发系统后,问题就消失了。打印语句即使在启动类型flask run
的情况下也会执行。很高兴它现在能工作,如果错误不是真的再现,您可以删除帖子。我认为这只是一个标记陷阱,\uuu
用于加粗字体“version”:“==1.0.2”