我是 Django 的新手,所以这可能是一个愚蠢的问题,但是我正在努力寻找搜索 Goolge 的答案。我的问题如下...
在其他语言中,当在 HTML 页面中创建链接时,您会使用 buildURL(page) 函数来创建动态链接,即
<a herf="buildURL(pageName,queryObjects) >link</a>
这将生成带有参数的 URL。
Django 中是否有以正确格式构建 URL 的函数,即生成带有参数的 Django 页面的完全限定 URL?
在您的模板中,您永远不应该硬写 url 视图。取而代之的是,一个好的做法是命名每个 url 并在模板中引用该名称。
命名一个网址:
from django.conf.urls import patterns, url
urlpatterns = patterns('',
#...
url(r'^article/(\d+)/$', 'news.views.article', name='article_by_id'),
#...
)
要在模板中引用 url:
<ul>
{% for article in articles %}
<li><a href="{% url article_by_id article.pk %}">Article {{article.name}} </a></li>
{% endfor %}
</ul>
在URL Distpatchar django文档中了解更多信息。
从我在 django 文档中看到的应该是
<ul>
{% for article in articles %}
<li><a href="{% url 'article_by_id' article.pk %}">Article {{article.name}} </a></li>
{% endfor %}
</ul>
即“article_by_id”而不是article_by_id。这对我有用