url 配置(urlconf)就像django 鎖支撐**的目錄。 它的本質就是url 與要為該url 呼叫的檢視函式之間的對映表。
你就是以這種方式告訴django, 對於這個url 呼叫這段**, 對於那個url 呼叫那段**。
fromdjango.conf.urls import url
urlpatterns=[
url(正規表示式,views檢視函式, 引數, 別名)
]
注意:django 2.0版本中的路由已經替換成下面的寫法:
fromdjango.urls importpath
urlpatterns =[
path(
'articles/2003/
', views.special_case_2003),
path(
'articles//
', views.year_archive),
path(
'articles///
', views.month_archive),
path(
'articles////
', views.article_detail),
]
1:urlpatterns中的元素按照書寫順序從上往下注意匹配正規表示式, 一旦匹配成功,則不再繼續。
2:若要從url中捕獲乙個值, 只需要在它周圍放置一對圓括號(分組匹配)。
3: 不需要新增乙個前導的反斜槓,因為每個url 都有, 例如應該是^articles 而不是^/aricles。
4:每個正規表示式前面的"r"是可以選的 但是建議加上。
補充說明
是否開啟url訪問位址後面不為/跳轉至帶有/的路徑的配置項其效果就是:
我們定義了urls.py:
from
django.conf.urls import url
from
urlpatterns =[
url(r
'^b=blog/$
',views.blog),
]
訪問 時,預設將**自動轉換為 。
上面的示例使用簡單的正規表示式分組匹配(通過圓括號)來捕獲url中的值, 並以位置引數形式傳遞給檢視。
在更高階的用法中, 可以使用分組命名匹配的正規表示式組來捕獲url 中的值並以關鍵字引數的形式傳遞給檢視。
在python 的正規表示式中, 分組命名正規表示式組的語法是(?ppattern)其中name 是組的名稱。 pattern是要匹配的模式。
下面是以上urlconf使用命名組的重寫:
fromdjango.conf.urls import url
from
. import views
urlpatterns =[
url(r
'^articles/2003/$
',views。specical_case_2003),
url(r
'^articles/(?p[0-9])/$
', views.year_archive),
url(r
'^articles/(?p[0-9])/(?p[0-9])/$
', views.month_archive),
url(r
'^articles/(?p[0-9])/(?p[0-9])/(?p[0-9])/$
', views.article_detail),
這個實現與前面的示例完全相同, 只有乙個席位的差別:捕獲的值作為關鍵字引數而不是位置引數傳遞給檢視函式。
例如,針對url/articles/2017/12 相當於按以下方式呼叫檢視函式:
views.month_archive(request,year="2017
",month="
12")
在實際應用中, 使用分組命名匹配的方式可以讓你的urlconf 更加明晰且不容易產生引數順序問題的錯誤,但是有些開發人員則認為分組命名組語法太醜陋,繁瑣。
至於究竟應該使用哪一種,你可以根據自己的喜好來決定。
urlconf 在請求的url上查詢, 將它當做乙個普通的python字串, 不包括get 和post引數以及網域名稱。
Django路由系統
urlpatterns path 要匹配的路徑 可以是正規表示式 檢視函式,引數,別名 1 正規表示式 乙個正規表示式字串 2 檢視函式 乙個可呼叫物件,通常為乙個檢視函式或乙個指定檢視函式路徑的字串 3 引數 要傳遞給檢視函式的預設引數 字典形式,可選 4 別名 乙個可選的name引數 1 在py...
Django路由系統
普通的url 函式 有傳遞引數的url django2以上版本,使用正規則要用re path,之前的版本使用url re path add w add 一樣功能 path add add re path r add2 p w p d add path add2 add2 路由分發 使用include...
Django路由系統
基本格式 from django.conf.urls import urlurlpatterns url 正規表示式,views檢視函式,引數,別名 引數說明 正規表示式 乙個正規表示式字串 views檢視函式 乙個可呼叫物件,通常為乙個檢視函式或乙個指定檢視函式路徑的字串 引數 可選的,要傳遞給檢...