23、钩子函数

from flask import Flask
import time

app = Flask(__name__)


# 在第一次请求之前被执行。即刷新之后不会再出现
@app.before_first_request
def before_first_request():
    print("这是before_first_request钩子函数")  # 内容打印到终端


# 在每次请求之前都会执行,一般用来检验用户请求是否合法、权限检查等
@app.before_request
def before_request():
    print("这是before_request钩子函数")


# 在每次请求之后都会执行,一般用来产生csrf_token验证码等
@app.after_request
def after_request(response):
    print("这是after_request钩子函数")
    response.headers["Content-Type"] = "application/json"
    return response


# 在每次请求之后都会执行。会接收一个参数,参数是服务器出现的错误信息
@app.teardown_request
def teardown_request(e):
    print("这是teardown_request钩子函数")


@app.route('/')
def hello_world():
    print("您访问了首页!")
    time.sleep(5)  # 休眠5秒
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

参考资料

https://weread.qq.com/web/reader/0a932660718ac6bc0a9702e

posted @ 2022-06-04 02:14  tiansz  阅读(22)  评论(0编辑  收藏  举报