2015-11-20 67 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

相關問題