Flask 的 请求扩展 与 中间件
flask 可以通过 扩展 来实现类似于django 中间件的功能
类似于django 的中间件, 在执行视图函数之前, 之后的执行某些功能
1 @app.before_first_request
执行一次,在第一个函数执行后 就不再执行(状态改为False)
@app.before_first_request
def before_first_request1():
print('before_first_request1')
2 @app.before_request: process_request
在视图函数执行前,按照顺序依次执行(列表顺序)
@app.before_request
def before_request1():
Request.nnn = 123
print('before_request1')
@app.before_request
def before_request2():
print('before_request2')
3 @app.after_request: process_response
在视图函数执行后,按照反序依次执行(列表逆序)
@app.after_request
def after_request1(response):
print('before_request1', response)
return response
@app.after_request
def after_request2(response):
print('before_request2', response)
return response