Flask中可以使用@before_request
等装饰器来注册一些函数,这些函数会在view_func之前被执行,通常可以用来做数据库初始化等操作。
1 | def before_request(self, f): |
从上面的源码可以看出来,被装饰的函数会被注册到Flask实例的before_request_funcs
数列中,而在call view_func
之前,会遍历这个数列并执行这些函数,并且如果有返回值的话,停止遍历并把返回值作为view_func
的返回值进行返回。
在Flask v0.1中还没有before_first_request
,不过根据这个思路来也很容易实现。
1 | class Flask(object): |