前端之家收集整理的这篇文章主要介绍了
flask框架中勾子函数的使用,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
301_0@
在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如:
@H_
301_0@ 在请求开始时,建立
数据库连接;
@H_
301_0@ 在请求开始时,根据需求进行权限校验;
@H_
301_0@ 在请求结束时,指定数据的交互格式;
@H_
301_0@
为了让每个视图函数避免编写重复功能的代码,Flask提供了通用设施的功能,即请求钩子。
@H_
301_0@
请求钩子是通过装饰器的形式实现,Flask支持如下四种请求钩子:
-
before_first_request
-
before_request
- 在每次请求前执行
- 如果在某修饰的函数中返回了一个响应,视图函数将不再被调用
-
after_request
- 如果没有抛出错误,在每次请求后执行
- 接受一个参数:视图函数作出的响应
- 在此函数中可以对响应值在返回之前做最后一步修改处理
- 需要将参数中的响应在此参数中进行返回
-
teardown_request
from flask import Flask
from flask import abort
app = Flask(__name__)
before_first_request
before_request
after_request
teardown_request
before_request
after_request
teardown_request