2017-10-13 103 views
0

我想知道,使用url(from django.conf.urls import url)的時候,什麼是name = 'insert-something'的意思。例如,使得網址註冊新用戶時:??Django-url中的「name」是什麼意思?

url(r'^register', views.register, name='register') 

什麼名字=「註冊」的意思是這裏爲什麼有必要嗎?

謝謝!

+0

您可以使用該名稱與「反向」[鏈接](https://docs.djangoproject.com/en/1.11/ref/urlresolvers/#reverse) –

+1

您的網址可能會隨時更改,因此您可以不寫代碼網址在模板標記中,你可以簡單地寫: {'%url'register'%}' –

回答

1

的名稱用於從你的Django/Python代碼accessingg該網址。比如你在urls.py

有這

現在每次要重定向到主頁面,可以說

redirect('app.main') 

其中app是Django的應用,其中主要位於的名稱。或者,你甚至可以用它的鏈接在你的HTML模板像

<a href="{% url 'app.main' %}">Go to main</a> 

,這將您鏈接到www.example.com/main例如。當然,你可以做分別

redirect('http://www.example.com/main') 

<a href="http://www.example.com/main">Go to main</a> 

,但如要更改域或main/路線。如果所有的網址都會在您的項目中進行硬編碼,那麼您將不得不在每個地方進行更改。但是如果您使用的是url name屬性,則可以更改urls.py中的網址格式。

相關問題