0

我在 Django 模板的导航栏中有很多长长的 URL 列表。

<a href="{% url animals.views.bear %}">The Big Bad Bear</a>
<a href="{% url animals.views.cat %}">The Cat</a>
<a href="{% url animals.views.dog %}">The Dog</a>
...

如何避免animals.views.在每个 URL 模板标记之前重复?

4

2 回答 2

3

您可以使用with标签:

{% with av=animals.views %}
<a href="{% url av.bear %}">The Big Bad Bear</a>
<a href="{% url av.cat %}">The Cat</a>
<a href="{% url av.dog %}">The Dog</a>
{% endwith %}

然而,正确的方法是在您的 URL conf 中设置正确的名称,正如 Alex 所描述的那样。

于 2012-04-21T20:19:11.417 回答
2

您可以命名您的网址:文档

在你的 urls.py 中:

import views
urlpatterns = patterns('',
    url(r'^bear/$', views.bear, name="bear"),
    url(r'^cat/$', views.cat, name="cat"),
    url(r'^dog/$', views.dog, name="dog"),
    ...
)

那么您的模板代码将如下所示:

<a href="{% url bear %}">The Big Bad Bear</a>
<a href="{% url cat %}">The Cat</a>
<a href="{% url dog %}">The Dog</a>
...

但请记住,在您的情况下,使用应用前缀命名您的网址是很方便的animal

于 2012-04-21T20:14:18.423 回答