1.名词解释
flask的请求钩子类似于Django的中间件, flask的请求钩子分为四种,钩子函数是指在执行函数和目标函数之间挂载的函数,框架开发者给调用方提供一个point-挂载点,至于挂载什么函数由调用方决定。
@before_first_request
在对应用程序实例的第一个请求之前注册要运行的函数,只会运行一次,
重启终端时才会再次启动
@before_request
在每个请求之前注册一个要运行的函数,每一次请求都会执行一次。
@after_request
在每个请求之后注册一个要运行的函数,每次请求完成后都会执行。需要接收一个 Response 对象作为参数,并返回一个新的 Response 对象,或者返回接收的 Response 对象。
@teardown_request
注册在每一个请求的末尾,不管是否有异常,每次请求的最后都会执行。
代码演示:
from flask import Flask
from flask import abort
app = Flask(__name__)
@app.route('/index')
def index():
print('index视图执行了')
return 'index page'
# 第一次请求处理前执行, 后续请求到来不执行, 只执行一次
@app.before_first_request