[英]Understanding Django's urlconf
我試圖理解這一行: url(r'^(?P<poll_id>\\d+)/$', views.detail, name='detail'),
來自Django關於如何創建視圖的教程 。
特別是,我不明白以下幾點:
urls.py
urlpatterns = patterns('',
# ex: /polls/
url(r'^$', views.index, name='index'),
# ex: /polls/5/
url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail'),
# ex: /polls/5/results/
url(r'^(?P<poll_id>\d+)/results/$', views.results, name='results'),
# ex: /polls/5/vote/
url(r'^(?P<poll_id>\d+)/vote/$', views.vote, name='vote'),
)
(?P<poll_id>...)
創建一個命名組 ; 您現在可以通過名稱引用該組中匹配的任何內容。
調用時,視圖將通過該名稱傳遞一個關鍵字參數。
\\d
是一個字符組,它匹配數字(ASCII數據為0
到9
)。 +
是量詞; 只有一個或多個數字匹配。
name='detail'
命名URL模式,以便稍后在創建反向URL時按名稱引用它。 請參閱Django手冊中的命名URL模式 。
總而言之,該模式匹配以數字開頭的URL,后跟一個/
斜杠,導致Django調用views.detail
視圖,將匹配的數字作為poll_id
參數傳遞。 name
關鍵字可以輕松生成此視圖的URL:
{% url 'name' poll.id %}
會生成一個URL到http://yourserver/[digits of poll.id]/
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.