用flask开发个人博客(15)—— flask中四种请求钩子
2016-12-10 16:12
309 查看
一 引言
flask中具有四种钩子被做成了修饰器,我们在后端可以进行调用做相关的操作.使用钩子函数时,我们需要借助flask的全局变量g.g作为中间变量,在钩子函数和视图函数中间传递数据.我们先引入全局变量gfrom flask import g
然后注册一个视图函数,用来显示g中的数据
@app.route('/test') def test(): return g.string
二 before_first_request
注册一个函数,在处理第一个请求之前运行.@app.before_first_request def bf_first_request(): g.string = 'before_first_request'
运行程序,调用http://localhost:5000/test会显示g中传递的string变量
三 before_request
注册一个函数,在处理每次请求之前运行.@app.before_request def bf_request(): g.string = 'before_request'
四 after_request
注册一个函数,在每次请求之后运行.注册的函数至少需要含有一个参数,这个参数实际上为服务器的响应,且函数中需要返回这个响应参数.@app.after_request def af_request(param): return param
五 teardown_request
注册一个函数,同样在每次请求之后运行.注册的函数至少需要含有一个参数,这个参数实际上为服务器的响应,且函数中需要返回这个响应参数.@app.teardown_request def td_request(param): return param
Github位置:
https://github.com/HymanLiuTS/flaskTs
克隆本项目:
git clone git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL15
相关文章推荐
- 用flask开发个人博客(2)—— Flask中的请求对象request
- 用flask开发个人博客(5)——flask中的四种响应类型
- 用flask开发个人博客(3)—— flask中的请求和视图函数映射
- 用flask开发个人博客(28)—— 利用unittest进行单元测试
- 用flask开发个人博客(29)—— 其他主要模块
- 用flask开发个人博客(13)—— 链接静态资源
- 用flask开发个人博客(19)—— 数据模型的外键关系
- 用flask开发个人博客(9)—— Jinja2模板中的变量
- 用flask开发个人博客(30)—— 用WerkZeug实现密码的加密存储
- 用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件
- 用flask开发个人博客(11)—— 模板中代码的重复使用
- 用flask开发个人博客(21)—— 在视图函数中操作数据库
- 用flask开发个人博客(6)—— 为flask程序添加命令行解释器
- 用flask开发个人博客(7)—— flask中设置和获取cookie
- 用flask开发个人博客(31)——用flask_login管理用户的登录
- 用flask开发个人博客(27)—— 利用程序工厂函数创建Flask程序对象并注册蓝本
- 用flask开发个人博客(16)—— 表单类的使用
- 用flask开发个人博客(10)—— Jinja2模板中的控制结构
- 用flask开发个人博客(18)—— 数据库模型的创建
- 用flask开发个人博客(17)—— Flash消息