1. 程式人生 > >Django路由分配及渲染

Django路由分配及渲染

方法 nbsp ear str from inf imp 整數 tin

一、url路由分配

  1.url配置的本質是將瀏覽器傳遞過來的路徑和參數與服務器中的視圖向匹配,並返回瀏覽器相應的視圖函數。

  2.url路徑path規則   path(route, view, kwargs=None, name=None)  

  route:一個字符串的url規則,

  views:是一個視圖

  kwargs:額外的參數,是一個字典(額外參數與route規則中的形參沖突的時候,以額外參數為先)

  name:url規則的名字

  3.path傳參  path(‘test/<xx>/<xx>/’, views.test)當路徑匹配成功後,會調用後面的視圖函數

  使用<>從傳遞過來的url中獲(多個)值,可以配置一個轉化器類型(converter type)來匹配指定的字符,如果沒有配置轉換器則默認匹配任何字符,當然也匹配/字符。

  path中<>形參名必須和對應視圖函數中形參一致,參數才能傳遞給視圖函數

  技術分享圖片

  4.path轉換器

  str   匹配除路徑符/外的任意非空字符,這是默認形式

  int   匹配正整數,包含數字0

  slug  匹配字母、數字以及橫杠、下劃線組成的字符串

  uuid  匹配格式化的uuid

  path  匹配任意字符串,包含路徑字符串

  5.path轉換器的使用

  直接在路徑<>中使用  path(‘index/<int:pk>‘, views.test2),

  6re_path 正則表達式匹配

  當path轉換器不能滿足約束條件,則使用正則表達式re_path

  首先在urls中導入re_path模塊  from django.urls import re_path

  其次在urlpatterns中寫入re_path路徑  re_path(r‘^index/(?P<year>\d{4})/(?P<month>[1-9]|1[1-2])/$‘, views.test3),

  然後再地址欄中輸入相應的url  http://127.0.0.1:8000/index/2018/2/回車

  註意通過正則匹配得到的參數類型是str,要想得到整數類型得在views函數中對其進行轉換

  技術分享圖片

二、路由重定向  redirect

  redirect可以返回指定的網址請求,起到重定向的作用

  技術分享圖片

三、路徑重命名  reverse

  路徑重命名是將瀏覽器發送過來的路徑,調用匹配的視圖函數,然後在視圖函數中通過reverse跳轉到name所在的路徑視圖

  也適用於服務器網址變更後,瀏覽器發送之前的路徑請求,通過reverse將舊的路徑請求轉化成新的路徑請求

  技術分享圖片

四、Django調用HTML源碼

  依次在項目文件下創建templates文件夾,templates下創建APP應用名的文件夾,templates/app下創建HTML文件

  然後再項目setting文件中配置templates文件夾的路徑

  之後在視圖文件中定義視圖函數,有兩種方法,如步驟④

  最後在urls文件中關聯路徑

  在瀏覽器中輸入 http://127.0.0.1:8000/aaa/回車    技術分享圖片

      

Django路由分配及渲染