亲宝软件园·资讯

展开

Flask  请求钩子 Flask  请求钩子的实现

tigeriaf 人气:0
想了解Flask  请求钩子的实现的相关内容吗,tigeriaf在本文为您仔细讲解Flask  请求钩子的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Flask  请求钩子实现,Flask  请求钩子,请求钩子,下面大家一起来学习吧。

在 Web 应用中,有时需要在响应请求前或者响应请求后做一些处理,为了让每个视图函数避免编写重复功能的代码,Flask 提供了请求钩子,它们可以用来注册在请求处理的不同阶段执行的处理函数,我们就可以轻易的对请求进行预处理和后处理。

Flask 常用请求钩子如下:

这些请求钩子是使用装饰器方式实现,用法也非常简单,使用起来和app.route()装饰器基本相同。下面使用这些请求钩子装饰一些函数,用于在每次请求前后做一些处理,为了方便理解,只是单纯打印一句话。

@app.before_first_request

def before_first_request():

    print('before_first_request')

@app.before_request

def before_request():

    print('before_request')

@app.after_request

def after_request(response):

    print('after_request')

    return response

@app.teardown_request

def teardown_request(e):

    print('teardown_request')

@app.route('/test')

def test():

    return 'test'

第一次请求控制台输出:

第二次请求控制台输出:

下面是请求钩子的一些常见应用场景:

注意: 每个请求钩子可以注册任意多个处理函数,函数名也并不是必须和钩子名称相同。如果有多个 before_request,执行顺序从上往下;after_request 接收一个响应对象,并且返回同一个或者更新后的响应对象,多个 after_request 执行顺序是从下往上。

加载全部内容

相关教程
猜你喜欢
用户评论