我正在尝试使用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