before_request、after_request、teardown_request
<code>flask</code>中又两种 <code>context</code>(上下文),分别是 <code>application context</code> 和 <code>request context</code>。
其中 <code>request</code> 就是 <code>request context</code>。当 HTTP 请求过来的时候,进入这个上下文。
这些函数都是 <code>flask</code> 的 <code>hooks</code>。用于针对 <code>request</code> 做一些操作,比如
- <code>before_request</code> :在请求收到之前绑定一个函数做一些事情。
- <code>after_request</code>: 每一个请求之后绑定一个函数,如果请求没有异常。
- <code>teardown_request</code>: 每一个请求之后绑定一个函数,即使遇到了异常。
至于用来干嘛?可以做很多关于<code>request pre</code>的事情,和<code>request after</code> 的事情。
比如,<code>before_request</code> 的时候创建一个 <code>db</code> 连接,然后 <code>teardown_request</code> 的时候断开这个连接.