用flask开发个人博客(15)—— flask中四种请求钩子

一 引言     

        flask中具有四种钩子被做成了修饰器,我们在后端可以进行调用做相关的操作.使用钩子函数时,我们需要借助flask的全局变量g.g作为中间变量,在钩子函数和视图函数中间传递数据.我们先引入全局变量g

from 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 g[email protected]:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL15














你可能感兴趣的:(用flask开发个人博客)