flask中间件

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球