1. 程式人生 > >初步學習Django-第三篇:URLS.PY文件詳解

初步學習Django-第三篇:URLS.PY文件詳解

列表 name 關於 初步 表達 rom 就是 什麽 解析

該文章轉至博科:https://www.cnblogs.com/luchuangao/p/7113667.html

urls.py:URL分發器(路由配置文件)
URL配置(URLconf)就像是Django所支撐網站的目錄。它的本質是URL模式以及要為該URL模式調用的視圖函數之間的映射表。你就是以這種方式告訴Django,對於這個URL調用這段代碼,對於那個URL調用那段代碼。URL的加載是從配置文件中開始。

1、urlpatterns的兩種形式:

沒有前綴的情況,使用的列表(推薦方式)
urlpatterns = [
url(r‘^hello/$‘,views.hello)
]

有前綴的情況,使用patterns方法,過時的方法
from django.conf.urls import url,patterns
from hello import views

urlpatterns = patterns(",
(r‘^hello/$,views.hello),
")
或者
from django.conf.urls import patterns
urlpatterns = patterns(‘hello‘,
(r‘^hello/$‘,‘views.hello‘),
)

2、URL模式:

urlpatterns = [
url(正則表達式,view函數,參數,別名,前綴)
]

參數說明:
*一個正則表達式字符串。
*一個可調用對象,通常為一個視圖函數或一個指定視圖函數路徑的字符串。
*可選的要傳遞給視圖函數的默認參數(字典形式)。
*一個可選的name參數
*路徑前綴

3、URL分解器,include函數:

通常一個URL分解器對應一個URL配置模塊,它可以包含多個URL模式,也可以包含多個其他URL分解器。通過這種包含結構設計,實現Django對應URL的層級解析。

URL分解器是Django實現app與項目解耦的關鍵。通常由include方法操作的URL配置模塊,最終會被解釋成為URL分解器

為什麽admin模塊引入的時候沒有使用include?
url(r‘^admin/‘, admin.site.urls),

4、URL常見寫法示例,正則表達式

url(r‘^test/\d{2}/$‘, views.test)
url(r‘^test/(?P<id>\d{2})/$‘, views.test)
url(r‘^test2/(?P<id>\d{2})/(?P<key>\w+)/$‘, views.test)

關於正則表達式的使用,可以參考<建議爬蟲實戰中的正則表達式講解>,和網上一些不錯的資料
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

初步學習Django-第三篇:URLS.PY文件詳解