Python Flask:如何在蓝图中的每个路由之前运行方法?
我想让我的烧瓶蓝图在执行任何路由之前始终运行一个方法。与使用自定义装饰器装饰蓝图中的每个路由方法不同,我希望能够执行以下操作:Python Flask:如何在蓝图中的每个路由之前运行方法?,python,flask,decorator,Python,Flask,Decorator,我想让我的烧瓶蓝图在执行任何路由之前始终运行一个方法。与使用自定义装饰器装饰蓝图中的每个路由方法不同,我希望能够执行以下操作: def my_方法(): 做事 截面=蓝图(‘截面’,_名称_) #将my_method()注册为在所有路由之前运行的安装方法 section.custom\u setup\u方法(my\u方法()) @段.路线('/two') def route_one(): 做事 @段.路线(“/一”) def route_two(): 做事 然后基本上/section/one和
def my_方法():
做事
截面=蓝图(‘截面’,_名称_)
#将my_method()注册为在所有路由之前运行的安装方法
section.custom\u setup\u方法(my\u方法())
@段.路线('/two')
def route_one():
做事
@段.路线(“/一”)
def route_two():
做事
然后基本上/section/one
和/section/two
都将在执行route\u one()
或route\u two()中的代码之前运行my\u method()
有什么方法可以做到这一点吗?您可以在请求之前使用
:
@section.before_request
def before_request():
do_stuff
您可以使用装饰器绘制蓝图。像这样:
@section.before_request
def my_method():
do_stuff
这会自动注册要在属于blueprint的任何路由之前运行的函数。为什么不首先以装饰器的身份编写函数?@SamRedway可以工作,但随后必须为每个路由添加装饰器。如果在应用程序或蓝图级别使用before\u request()