django包含标签kwargs错误说“函数需要2个参数”

时间:2012-09-18 20:50:30

标签: django templates django-custom-tags

我写了包含标签,它带上下文和* 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

我的代码中有什么问题?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

由于您已放置takes_context=True,因此该函数的第一个参数必须为context