裝飾函數的最佳方式是什麼,但只能在本地範圍內。例如,我們有以下幾點: 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