运行代码后,Python flask api蓝图将创建2个单独的对象

时间:2019-02-19 13:26:45

标签: python flask web-applications

我正在尝试使用python flask构建一个小型Web应用程序。 我在app.py文件中编写了以下代码:

    from flask import Blueprint
    from flask_restful import Api
    from resources.hello import Hello

    api_bp = Blueprint('api', __name__)
    print('api_bp', api_bp)
    api = Api(api_bp)

    print('api ---', api)

    # Route
    api.add_resource(Hello, '/Hello')

而我的run.py文件看起来像这样

    from flask import Flask
    def create_app(config_filename):
    app = Flask(__name__)
    app.config.from_object(config_filename)

    from app import api_bp
    app.register_blueprint(api_bp, url_prefix='/api')

    return app
    if __name__ == "__main__":
         app = create_app("config")
         app.run(debug=True)

当我尝试运行run.py时,

我可以看到api_bp和api被打印两次。他们两个都在创建2个不同的对象。

我不确定为什么烧瓶会显示这种特殊行为?

以下是我正在观察的结果:

    $ python run.py
    api_bp <flask.blueprints.Blueprint object at 0x7f90ab478438>
    api --- <flask_restful.Api object at 0x7f90ab4782e8>
    * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
    * Restarting with stat
    api_bp <flask.blueprints.Blueprint object at 0x7fa3488d2518>
    api --- <flask_restful.Api object at 0x7fa3488d2550>
    * Debugger is active!
    * Debugger PIN: 224-419-563

0 个答案:

没有答案