django 包含标签 kwargs 错误说“函数需要 2 个参数”
Posted
技术标签:
【中文标题】django 包含标签 kwargs 错误说“函数需要 2 个参数”【英文标题】:django inclusion tag kwargs error says "function takes 2 arguments" 【发布时间】: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
我的代码有什么问题?
【问题讨论】:
【参考方案1】:是的,我发现了问题,问题 *args 和 **kwargs 在 Django 1.4 中实现,但我在 Django 1.3.1 中尝试了此功能,这就是它显示此类错误的原因
为了更清楚,请查看 Django 1.4 发行说明。 Django1.4 release notes
【讨论】:
【参考方案2】:既然你放了takes_context=True
,那么函数的第一个参数一定是context
。
【讨论】:
以上是关于django 包含标签 kwargs 错误说“函数需要 2 个参数”的主要内容,如果未能解决你的问题,请参考以下文章