我在 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 模板标记之前重复?
我在 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 模板标记之前重复?
您可以使用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 所描述的那样。
您可以命名您的网址:文档
在你的 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