假设您在Django中有一个论坛应用程序,名称空间为forums
且主页的名称为home
,并且您希望为该页面建立<a>
标记链接。做<a href="{% url 'forums:home' %}"></a>
是更好的做法,还是做<a href="/forums"></a>
会更好?或者这不重要吗?
答案 0 :(得分:2)
{% url %}
标签可供使用 - 它不存在任何内容。
如果您移动视图手动修复所有模板代码以指向新视图是痛苦的。
答案 1 :(得分:1)
M
标记始终指向规范网址。在您的示例中,当遵循常见的Django约定时,第二种形式将导致从{% url %}
到/forums
的不必要的重定向。
/forums/
标记是一个快速失败的系统。如果在创建URL时url不存在,Django将引发错误 - 而不是当用户点击链接并获得404时。这有助于开发无错误的应用程序。
像Mikko所说,它允许您在不更改每个模板的情况下更改视图的URL。