请求钩子
请求钩子使用修饰器实现,用于在处理请求之前或者之后执行一些代码,例如建立数据库连接或者对用户进行认证。Flask提供了4种请求钩子供使用。
@before_first_request
,在处理第一个请求之前运行被注册的函数。@before_request
,在每次请求之前都运行被注册的函数。@after_request
,在每次没有未处理的异常的请求之后都运行被注册的函数。@teardown_request
,在每次请求之后运行被注册的函数,即便是请求抛出了未处理的异常。
请求钩子函数和视图函数之间共享数据一般使用上下文全局变量g
。钩子函数可以直接取消请求或者直接返回响应内容,例如认证失败。