gpt4 book ai didi

Django - 如何将多个参数传递给 url 模板标签

转载 作者:行者123 更新时间:2023-12-01 20:07:41 30 4
gpt4 key购买 nike

在我的 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”模板标记传递多个参数时,它似乎会提示 - 我在使用两个参数时遇到相同的错误。有没有不同的方法来传递多个参数?我尝试传递命名关键字参数,但这会生成类似的错误。

无论如何,相关 View 的开头如下:

def issue_section_detail(request, year, month, day, slug):

如何将多个参数传递给 url 模板标记?

最佳答案

我遇到了同样的问题(我使用的是 Django 1.3.1)并尝试了 Gregor Müllegger 的建议,但由于两个原因而不起作用:

  • 年、月、日值之间不应有逗号
  • 我的基于类的通用 View 似乎只接受关键字参数

因此唯一可行的解​​决方案是:

{% url news_detail slug=object.slug year=object.date|date:"Y" month=object.date|date:"m" day=object.date|date:"d" %}

关于Django - 如何将多个参数传递给 url 模板标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2119463/

30 4 0