url配置(urlconf)就像django 所支撐**的目錄。它的本質是url與要為該url呼叫的檢視函式之間的對映表;你就是以這種方式告訴django,對於客戶端發來的某個url呼叫哪一段邏輯**對應執行
-簡單的路由配置
1from django.conf.urls import
url2
3from . import
views
45 urlpatterns =[
6 url(r'
^articles/2003/$
', views.special_case_2003),
7 url(r'
^articles/([0-9])/$
', views.year_archive),
8 url(r'
^articles/([0-9])/([0-9])/$
', views.month_archive),
9 url(r'
^articles/([0-9])/([0-9])/([0-9]+)/$
', views.article_detail),
10 ]
-有名分組
上面的示例使用簡單的、沒有命名的正規表示式組(通過圓括號)來捕獲url 中的值並以位置 引數傳遞給檢視。在更高階的用法中,可以使用命名的正規表示式組來捕獲url 中的值並以關鍵字 引數傳遞給檢視。
在python 正規表示式中,命名正規表示式組的語法是(?ppattern)
,其中name
是組的名稱,pattern
是要匹配的模式。
1from django.conf.urls import
url2
3from . import
views
45 urlpatterns =[
6 url(r'
^articles/2003/$
', views.special_case_2003),
7 url(r'
^articles/(?p[0-9])/$
', views.year_archive),
8 url(r'
^articles/(?p[0-9])/(?p[0-9])/$
', views.month_archive),
9 url(r'
^articles/(?p[0-9])/(?p[0-9])/(?p[0-9])/$
', views.article_detail),
10 ]
-分發
'''at any point, your urlpatterns can 「include」 other urlconf modules. this
essentially 「roots」 a set of urls below other ones.
including another urlconf
1. add an import: from blog import urls as blog_urls
2. add a url to urlpatterns: url(r'^blog/', include(blog.urls))
'''from django.conf.urls import
include, url
urlpatterns =[
url(r
'^admin/
', admin.site.urls),
url(r
'^blog/
', include('
blog.urls
')),
]
-反向解析:
在使用django 專案時,乙個常見的需求是獲得url 的最終形式,以用於嵌入到生成的內容中(檢視中和顯示給使用者的url等)或者用於處理伺服器端的導航(重定向等)。人們強烈希望不要硬編碼這些url(費力、不可擴充套件且容易產生錯誤)或者設計一種與urlconf 毫不相關的專門的url 生成機制,因為這樣容易導致一定程度上產生過期的url。
---urls.py
1from django.conf.urls import
url2
3from . import
views
45 urlpatterns =[6#
...7 url(r'
^articles/([0-9])/$
', views.year_archive, name='
news-year-archive'),
8#...9 ]
---在模板中
1"">2012 archive
23
---在python中
同redirect("/path/")
Django的路由層
一 簡單的路由配置 from django.conf.urls import urlviews urlpatterns path views.index 二 有名分組 先欠著三 分發 from django.conf.urls import include,url urlpatterns url r...
Django的日常 路由層
目錄反向解析 路由的分發 我們之前已經接觸過路由層,只是我們可能不知道他叫這個名字,實際上在django裡面路由層指的就是urls.py這個檔案.路由的概念是什麼,我們平時生活中接觸最多的和路由有關的大概就是路由器了,那麼路由器是幹嘛的?路由器是連線多個網路的硬體裝置,在網路之間起到閘道器的作用,可...
IP層路由決策
ip層路由決策一般由路由守護程式來實現,通常這是乙個使用者程序 路由守護程式大約每30秒就更新一次路由表,當收到icmp重定向時,路由表也會被更新 ip選路原理 1.搜尋匹配的主機位址 2.搜尋匹配的網路位址 3.搜尋預設表項 預設表項一般被設定為乙個網路表項,其網路號為0 路由表 用netstat...