Django.VERSION=1.11
URLCONF就是Django網站的目錄集合,我們使用正則表達式來表達。
一般我們把url和視圖view聯合起來講。
我們的第一個urls.py文件:首次創建的django-admin.py startproject ProjectName
在ProjectName文件夾里,這是網站項目的總url配置文件。之后我們添加應用程序后往往會在相應的應用程序文件夾里新建urls.py
1 from django.conf.urls import url, include 2 from django.contrib import admin 3 from focus import urls as focus_urls 4 from focus import views 5 6 urlpatterns = [ 7 url(r'^admin/', admin.site.urls), 8 url(r'^$',views.index,name='index'), 9 url(r'^focus/',include(focus_urls)), 10 ]
例如上圖中,
url(r'^focus/',include(focus_urls)),————focus是我新建的一個應用程序。
我在此應用程序中也新建了一個urls.py.在此總urls.py中引用它,保證應用程序的urls.py也能生效
(在我們引用應用程序的urls.py時,需要import應用程序中的相應的版塊)
而在我們寫url規則時,url(r'^xxxx/$',views.xxx,name='xxx')這其中根據逗號我們分為三個版塊:
第一部分:r'^xxx/$'——^表示匹配開始, /$ 表示匹配結束。 中間的部分就是url根據正則表達式書寫的。
如果結尾處沒有$,那么表示匹配的url一直匹配以此url開頭的所有url.
例如上圖中的第一個url,表示匹配http:www.test.com/admin 和 http:www.test.com/admin/的所有子鏈接。
第二部分:是引入該鏈接的視圖部分,例如我們views.index;
第三部分:有意思了,相當於給這個鏈接起了個名字,我們在model和templates中引用都是name,當此鏈接被修改時,我們各處引用不用更改,因為name屬性並沒有變。