Django - 通常链接到特定的URL

时间:2015-11-20 03:43:13

标签: django

是否有通用的方法将Django中的链接链接到特定的URL?

例如,如果我的urls.py看起来像教程中的示例,我将使用writing your first Django app

from django.conf.urls import url

from . import views

urlpatterns = [
    # ex: /polls/
    url(r'^$', views.index, name='index'),
    # ex: /polls/5/
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
    # ex: /polls/5/results/
    url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
    # ex: /polls/5/vote/
    url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
]

我希望有一个第5轮民意调查的链接,我可以写html

<a href='/polls/5/'>link</a>

但我宁愿写下面的内容,以便我可以从一个地方维护特定的网址:

<a href='{% url poll5 %}'>link</a>

我认为Django可以做到这一点,但我不确定语法或记录网址的位置

2 个答案:

答案 0 :(得分:2)

您可以在项目中的网址中使用名称空间urls.py:

url(r'^polls/',include('polls.urls) ',namespace =“polls”)),&#xA;  
&#xA;&#xA;

然后,在您的模板中:

&#xA;&# xA;
 &lt; a href ='{%url'民意调查:详细信息'5%}'&gt;链接&lt; / a&gt;&#xA;  
&#xA;& #xA;

5 可以是poll.id或你的一些变量。

&#xA;

答案 1 :(得分:1)

您可以将<a href='/polls/5/'>link</a>写为

<a href='{% url 'details' question.id %}'>link</a>

<a href='{% url 'polls:details' question.id %}'>link</a>

如果您将民意调查网址命名为