flask中有很多请求中间件也叫请求过滤下面的代码是所有中间件的汇总
点击查看代码
from flask import Flask,render_template
app = Flask(__name__)
@app.before_first_request
def before_first():
print('服务器第一次接受请求的时候执行')
@app.before_request # before_request里面不能有返回值,内部维护了一个列表将所有的before_request append进一个列表里,然后依次执行执行
def before_request():
print('每次视图函数执行之前执行的')
# 如果有return 后面的视图函数就不执行了
# return '提前结束'
@app.after_request# 内部也是维护了一个列表,但是在底层源码里进行了依次reverse反转,所以执行顺序相反
def after_request(resp):
print('每次视图函数执行之后执行')
return resp # 这个返回值就是视图函数的返回值(response)
@app.teardown_request
def teardown_request(resp):
print('请求结束的时候执行')
当任何一个函数出现错误的时候直接调用
@app.errorhandler(500)
def error_server(error):
print(error)
return render_template('500.html')
@app.route('/set')
def hello_world():
1/0
return 'hello world'
@app.route('/get')
def hello_world2():
return '请求钩子结束'
if __name__ == '__main__':
app.run()
Original: https://www.cnblogs.com/libonizhenshuai/p/15551921.html
Author: libonizhenshuai
Title: flask中间件
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/564330/
转载文章受原作者版权保护。转载请注明原作者出处!