【问题标题】:django inclusion tag kwargs error says "function takes 2 arguments"django 包含标签 kwargs 错误说“函数需要 2 个参数”
【发布时间】:2012-09-11 04:16:40
【问题描述】:

我已经写了包含标签,它需要上下文和 *args 和 **kwargs

@register.inclusion_tag('template.html', takes_context=True)
def my_tag(a, b, *args, **kwargs):
    print 'Kwargs: '
    return .....

模板:

  {% my_tag 1 1 2 page=10 %}

Error message:
Request Method:     GET
Request URL:    http://localhost:8000/
Django Version:     1.3.1
Exception Type:     TemplateSyntaxError
Exception Value:    

my_tag takes 2 arguments

我的代码有什么问题?

【问题讨论】:

    标签: django templates django-custom-tags


    【解决方案1】:

    是的,我发现了问题,问题 *args 和 **kwargs 在 Django 1.4 中实现,但我在 Django 1.3.1 中尝试了此功能,这就是它显示此类错误的原因

    为了更清楚,请查看 Django 1.4 发行说明。 Django1.4 release notes

    【讨论】:

      【解决方案2】:

      既然你放了takes_context=True,那么函数的第一个参数一定是context。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-11
        • 1970-01-01
        • 2014-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多