2015-11-20 43 views
0

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

比如我会用writing your first Django app如果我的urls.py看起来像本教程中的例子:

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的可以做到这一点,但我不知道的语法或者记录URL

+0

几乎完全是你所假设的[存在于Django](https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#url)。 –

回答

2

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

url(r'^polls/', include('polls.urls', namespace="polls")), 

,然后在你的模板:

<a href='{% url 'polls:detail' 5 %}'>link</a> 

5可以poll.id或者其中的一些变量。

+0

谢谢,这工作得很好。在我的项目中,我使用了一个词,所以不得不使用 link

1

你可以写<a href='/polls/5/'>link</a>

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

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

,如果你的命名空间民意调查url

相关问题