我喜欢使用Django装饰器。
我想将一个变量从装饰器传递给views函数。
有可能意味着请帮帮我..
def d(msg='my default message', alt="none"):
def decorator(func):
def newfn(request, **kwargs):
if msg and alt:
variable = "Read Only"
return func(request, **kwargs)
return newfn
return decorator
我希望变量从装饰器传递到视图。
@d('hai', 'begin')
def company(request):
print variable
return ...
任何人都会帮助我。在此先感谢
答案 0 :(得分:6)
你无法以这种方式操纵范围。
def d(msg='my default message', alt="none"):
def decorator(func):
def newfn(request, **kwargs):
if msg and alt:
kwargs['variable'] = "Read Only"
return func(request, **kwargs)
return newfn
return decorator
@d('hai', 'begin')
def company(request, variable):
...