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模式:
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