python的flask的请求钩子的使用方法和使用场景

这里介绍flask的5种请求狗子的用法和使用场景。

from flask import Flask, request, redirect

app=Flask(__name__)
@app.before_first_request   #执行处理前端的第一个请求时会执行这里的代码。
def abb():
    """代码段"""
    return "注册一个函数,在处理第一个请求前运行这里面的代码"


@app.before_request  #执行处理前端每个请求时会处理这里面的代码,注意,before_request不能与before_first_request在一个实例里使用
def abb():
    """代码段"""
    return "注册一个函数,在处理每个请求前运行这里面的代码"

@app.after_request  #如果没有未处理的异常抛出,会在每个请求后结束运行
def abb():
    """代码段"""
    return "如果没有未处理的异常的话,会在每个请求处理完后才运行这个处理函数"


@app.teardown_request  #即使有未处理的异常抛出,会在处理了请求后在运行这个处理函数的代码,如果报错,会传入报错对象作为参数到注册的函数中
def abb():
    """代码段"""
    return ""

@app.after_this_request  #处理了请求结束后会运行这个处理函数
def abb():
    """代码段"""
    return   "每个请求结束后运行这个处理函数"

if __name__=="__main__":
    app.run(host="127.0.0.1")

这些钩子使用起来和app.route()装饰器基本相同,每个钩子可以注册多个处理函数,函数名称不能并不是必须和钩子名称相同,这几个钩子的使用场景在下方会有详解

before_first_request:一般是放在我们进行程序时的初始化操作,比如创建数据库表,添加管理等

before_request:在请求后执行,比如记录用户的最后登陆时间等

。。。其他场景就不赘述了,通过这些请求钩子能够很方便的帮我们实现很多业务上的场景,加油!!

猜你喜欢

转载自blog.csdn.net/m0_58002043/article/details/121226082