在模板中生成URL,将项目URLconf考虑在内

时间:2012-11-30 16:33:26

标签: django django-templates

我正在使用Django 1.4 tutorial,我注意到在视图层中,网址是手工汇编的:

<form action="/polls/{{ poll.id }}/vote/" method="post">

等等。

但是,在控制器端,URL是动态生成的:

return HttpResponseRedirect(reverse('polls.views.results', args=(p.id,)))

这似乎有些不一致。由于URL的前缀(在这种情况下为/polls)是在项目的URLconf而不是应用程序的URLconf中确定的,因此在模板中对此值进行硬编码似乎是不明智的。

是否有帮助器或其他方法在Django模板中生成URL以便将URLconf考虑在内?

1 个答案:

答案 0 :(得分:4)

是的,您可以使用内置url - 标记来避免对路径进行硬编码。

例如:

{% url 'myapp:view-name' %}