【发布时间】:2011-01-08 08:01:09
【问题描述】:
在我的 urls.py 中有:
(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/section/(?P<slug>[-\w]+)/$',
'paper.views.issue_section_detail',
{},
'paper_issue_section_detail'
),
我正在尝试在模板中执行此操作:
{% url paper_issue_section_detail issue.pub_date.year,issue.pub_date.month,issue.pub_date.day,section_li.slug %}
但我收到此错误:
TemplateSyntaxError
Caught an exception while rendering: Reverse for 'paper_issue_section_detail' with arguments '(2010, 1, 22, u'business')' and keyword arguments '{}' not found.
但是,如果我将 URL 模式更改为只需要一个参数,它就可以正常工作。即:
(r'^(?P<year>\d{4})/$',
'paper.views.issue_section_detail',
{},
'paper_issue_section_detail'
),
和:
{% url paper_issue_section_detail issue.pub_date.year %}
因此,当我使用 'url' 模板标签传递多个参数时,它似乎会抱怨 - 我使用两个参数得到相同的错误。有没有不同的方法来传递几个参数?我试过传入命名的关键字参数,这会产生类似的错误。
不管怎样,相关视图的开头是这样的:
def issue_section_detail(request, year, month, day, slug):
如何将多个参数传递给 url 模板标签?
【问题讨论】:
标签: django django-templates django-urls