3

嗨,我正在使用 Django 装饰器。

我想将一个变量从装饰器传递给视图函数。

是否可能意味着请帮助我..

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 ...

任何人都可以帮助我。提前致谢

4

1 回答 1

7

你不能那样操作范围。

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):
   ...
于 2012-12-28T06:48:53.750 回答