【问题标题】:Django decorators passing variable to viewsDjango 装饰器将变量传递给视图
【发布时间】:2012-12-13 11:49:41
【问题描述】:

嗨,我正在使用 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 ...

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

【问题讨论】:

    标签: django decorator


    【解决方案1】:

    你不能那样操作范围。

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

    【讨论】:

    • 你能告诉我上面的 kwargs['variable'] = "Read Only" 在哪里可以得到视图中变量的值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 2016-03-26
    • 1970-01-01
    • 2022-07-12
    • 1970-01-01
    • 2020-07-26
    • 2016-02-03
    相关资源
    最近更新 更多