请求钩子是通过装饰器的形式实现,Flask支持如下四种请求钩子:
- @before_first_request ------> 比如关于数据库的链接操作等
- 在处理第一个请求前执行
- @before_request ------>比如对于黑名单的ip进行限制, 防止一些非法的请求
- 在每次请求前执行
- 如果在某修饰的函数中返回了一个响应,视图函数将不再被调用
- @after_request ------->比如设置session
- def after_request(response):
- return response
- 需要将参数中的响应在此参数中进行返回
- 在此函数中可以对响应值在返回之前做最后一步修改处理
- 接受一个参数:视图函数作出的响应
- 如果没有抛出错误,在每次请求后执行
- return response
- @teardown_request:
- def teardown_request(error):
- pass
- 在每次请求后执行
- 接受一个参数:错误信息,如果有相关错误抛出
- pass