在链接中传递两个参数

时间:2013-03-05 17:05:06

标签: django django-models django-templates django-urls

我的项目管理应用程序中有一个页面,其中列出了用户拥有的所有票证(所有票证都属于某个项目)。在模板中,我有一个显示特定故障单的链接,但它似乎不起作用,因为抛出以下错误:

Reverse for 'show_ticket' with arguments '(1,)' and keyword arguments '{}' not found.

正如您在下面的url模式中看到的,我需要project_id(票证所属)以及ticket_id。我怎样才能让它发挥作用?

来自模板的

<a href="{% url show_ticket ticket.id %}">{{ ticket }}</a>
来自urls.py的

url(r'^project/(?P<project_id>\d+)/ticket/(?P<ticket_id>\d+)/$', 'project_app.views.show_ticket', name="show_ticket"),

故障单模型:

class Ticket(models.Model):
...other fields...
project = models.ForeignKey(Project, related_name="projects")
user = models.ForeignKey(User)

1 个答案:

答案 0 :(得分:3)

您的urlconf使用命名(关键字)参数:

<a href="{% url show_ticket project_id=ticket.project_id ticket_id=ticket.id %}">{{ ticket }}</a>

Url tag documentation