【发布时间】:2015-11-22 13:32:04
【问题描述】:
在 Python 中,函数装饰器又是一等公民的函数,它创造了灵活分配和传递的期望。在下面的例子中
def auth_token_not_expired(function):
@auth_token_right
def wrapper(req):
# Some validations
return function(req)
return wrapper
现在我尝试将此装饰器函数分配给另一个变量作为别名
login_required = auth_token_not_expired
检查分配成功后,当我使用@login_required 语法调用它时,它会导致NameError
Exception Type: NameError
Exception Value:
name 'login_required' is not defined
我们如何将这个login_required 变量也注册为装饰器?
【问题讨论】:
-
你可以做你想做的事(我检查了 Python 2.7 和 3.4)。你确定你在正确的范围内吗?你到底在哪里做
login_required的任务?