装饰函数的最佳方式是什么,但只能在本地范围内。例如,我们有以下几点: def a():
do stuff
b()
do stuff
我想打一个功能c(),做同样的stuff但装饰B上它增加了一些额外的东西。我发现了一个办法做到这一点,但它改变B()全球: def c():
global b
b = decorator(b)
a()
我写了一个登录装饰器,应该保证在执行另一个函数之前用户已正确登录。问题是,虽然装饰器正在按预期工作,但函数包装函数从不执行。我的结构如下所示: #This is my decorator
login_required(func):
def func_wrapper(*args, **kwargs):
#do some operations
return True