烧瓶:应用程序工厂中的代码未执行

时间:2018-07-06 20:46:52

标签: flask

我正在使用标准的烧瓶应用程序工厂设置,如下所示: http://flask.pocoo.org/docs/1.0/tutorial/factory/

flaskr / 初始化 .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='dev',
        DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
    )

    print('Hello World')

   ...

    return app

我通过以下方式运行此应用程序:

  

导出FLASK_APP = flaskr

     

导出FLASK_ENV =开发

     

烧瓶运行

都非常标准。但是为什么代码print(“ hello world”)从未执行过?

编辑

重新启动我的开发系统后,问题消失了。抱歉,我发布了此内容。

2 个答案:

答案 0 :(得分:0)

好像您将文件命名为library(purrr) accumulate(1:4, function(x, y){2*x + y}) # [1] 1 4 11 26 而不是init.py

答案 1 :(得分:0)

我猜您正在使用烧瓶的旧版本(<1.0)。 最新版本(> 1.0)允许自动检测功能create_appmake_appsource code),以从CLI flask命令启动应用程序。

您可以例如使用 pip 来更新烧瓶包装:

pip install --upgrade Flask

或在__init__文件的末尾添加以下行,以显式方式创建应用程序:

if __name__ == "__main__":
    app = create_app()
    app.run()