我想为Flask的每个请求运行一些代码 - 特别是添加一些分析信息。我知道我可以用装饰器做到这一点,但我宁愿不为我的每个视图浪费额外的代码行。有没有办法在catch中编写所有将在每个视图之前或之后应用的代码?
答案 0 :(得分:31)
Flask在请求之前和之后都有专门的挂钩。令人惊讶的是,它们被称为:
两者都是装饰者:
@app.before_request
def do_something_whenever_a_request_comes_in():
# request is available
@app.after_request
def do_something_whenever_a_request_has_been_handled(response):
# we have a response to manipulate, always return one
return response