我以与此处相同的方式实现了一个装饰器 How to make a python decorator function in Flask with arguments (for authorization) 但问题仍未解决...
我有装饰器的这个功能
@blueprint.route('<var>')
@blueprint.my_decorator(var)
def function(var):
do stuff
我得到这个错误
NameError: global name 'var' is not defined
我该如何解决这个问题?
更新
蓝图是继承蓝图类的类。所以我实现了这个方法
def my_decorator(self, fn):
@wraps(fn)
def decorator(*args, **kwargs):
value = kwargs['value']
# do stuff with value
return fn(*args, **kwargs)
return decorator
但该值仍然是一个未知的键...