url配置就像是django所支撐**的目錄,它的本質是url模式以及要為該url模式呼叫的檢視函式之間的對映表。url需要在urls.py進行配置,與其對應的檢視函式寫在views.py檔案中。url的配置寫在urlpatterns列表的path方法中,對於path的功能,下面一一講解。
轉化器的型別如下:
str,匹配除了路徑分隔符(/
)之外的非空字串,這是預設的形式。
int,匹配正整數,包含0。
slug,匹配字母、數字以及橫槓、下劃線組成的字串。
uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
path,匹配任何非空字串,包含了路徑分隔符
下面乙個小例子,通過改寫urls和views檔案,配置乙個hello路徑,當輸入這個路徑,將呼叫對應的檢視函式index。
這裡在前面的例子下補充乙個int轉化器,捕獲整形資料。
當這個字典引數加到子路由註冊中去,則這個字典對於其下的所有子路由都有效。
下面舉個小例子,分別新建兩個路由及其對應的兩個檢視函式,乙個模擬舊網頁,乙個模擬新網頁,現在要做的是輸入舊**時,能給我開啟新的網頁,這就是頁面重定向。
給新網頁的url分配乙個name
如果上述的path方法中的轉化器無法滿足你的需求,可以考慮用萬能的正規表示式,不過就不是用path方法了,而是re_path,在django2.0之前的版本,還沒有自帶的轉化器,所以之前都是用正則來篩選捕獲url中的引數的。
在python正規表示式中,命名式分組語法為(?ppattern)
,其中name為名稱, pattern為待匹配的模式。下面有個小例子,用大家熟悉的.*?來匹配除換行符外的任意字元。
3 路由配置
一 路由配置 path path 函式 匯入 from django.urls import path 語法 path route,views,name none 引數 1.route 字串型別,匹配的請求路徑 2.views 指定路徑所對應的檢視處理函式的名稱 3.name 為位址起別名,在模版中...
Django2 0中URL的路由機制
django2.0中url的路由機制 路由是關聯url及其處理函式關係的過程。django的url路由配置在settings.py檔案中root urlconf變數指定全域性路由檔名稱。django的路由都寫在urls.py檔案中的urlpatterns列表中,由path 或re path 作為元素...
Django2 0以上版本 URL配置
預設情況下,django內建下面的路徑轉換器 其實就是寫乙個類,幷包含下面的成員和屬性 例如,新建乙個convertpath.py檔案,與urlconf同目錄,寫個下面的類 class fourdigityearconverter regex 0 9 defto python self,value ...