Django-url配置和詳解


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屬性並沒有變。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM