Flask没有调用blueprint的before_request函数

时间:2017-02-07 15:05:49

标签: python flask

我想在蓝图中添加before_request功能。在应用程序上注册蓝图后,我使用before_request修饰了一个函数。但是,从不调用该函数。为什么它不起作用?

__init__.py

app = Flask(__name__)

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

@api.before_request
def check_if_connected():
    assert False, 'this is never printed'

api/__init__.py

api = Blueprint('api', __name__)

1 个答案:

答案 0 :(得分:2)

Flask在注册后看不到蓝图会发生什么。所有设置(例如在请求函数之前注册)必须在注册蓝图之前进行。通常,事情是在蓝图的定义或其包装附近注册的,而不是在语义上不相关的导入之后。