2

我正在学习 Django 1.4 教程,我注意到在视图层中,URL 是手工组装的:

<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 考虑在内?

4

1 回答 1

4

是的,您可以使用内置url-tag 来避免硬编码路径。

例如:

{% url 'myapp:view-name' %}
于 2012-11-30T16:51:55.137 回答