Django框架學習3

2021-10-11 15:42:54 字數 3437 閱讀 6105

python django框架學習3

本文主要學習講訴django的url路由機制和檢視(views)響應型別

再來看全域性路由檔案urls.py中的內容

其中的urlpatterns變數就表示整個工程中的全域性路由

該變數的資料型別為列表,由path()或re_path作為元素內容

django的url路由流程

在django中,url路由流程主要分為四步:

1.django查詢全域性urlpatterns變數 (urls.py)

2.按照先後順序,對url逐一匹配urlpatterns中的每個元素

3.當匹配成功時停止查詢,根據匹配結果執行對應的處理函式

4.如果匹配結束後沒有匹配成功或出現匹配異常,django會進行錯誤處理

路由path()於re_path的區別

上面提到,路由主要是以path()和re_path()進行表示

path(route , view)

route引數:路徑,由url字串組成

view引數:處理(檢視)函式或include()類

re_path(route , view)

route引數:路徑,由正規表示式組成

view引數:處理(檢視)函式或include()類

由此可以得出結論,path()主要處理字串路由;re_path()主要處理正規表示式路由

現在我們來探尋理解路由函式path()中route

path(route , view , kwargs=none , name=none)

route:url或url模式,django定義的url轉換語法

view:處理(檢視)函式或include()類

kwargs:向處理函式提供額外的引數,以字典形式表示

name:為url模式的命名

這裡提到django中的轉換,在django中主要為

《型別:變數名》

如: aa/2018/ 就會於 aa/< int:year >/相匹配

str

intslug

uuid

path

注意點:在路由中route無論是以那種形式來進行表達,末尾要以 / 結尾。

路由中的路徑說完了,再來看看對應的處理函式views

views主要形式由:處理函式和include()函式組成如圖:

檢視響應不區分get和post請求。但能通過

來對請求型別進項過濾

django的響應型別

1.httpresponse類及其子類

2.jsonresponse類

3.streaminghttpresponse類

4.fileresponse類

httpresponse類

建構函式的引數有乙個:重定向的路徑。 它可以是乙個完整的url(例如, 『 )或者不包括網域名稱的絕對路徑(如 『/search/』 )。 注意它返回 http 狀態碼 302。

類似 httpresponseredirect , 但是它返回乙個永久轉義 (http狀態碼 301),而不是暫時性轉移(狀態碼302)。

建構函式沒有任何引數。用它來表示這個頁面在上次請求後未改變。

類似 httpresponse ,但使用400狀態碼。

類似 httpresponse ,但使用404狀態碼。

類似 httpresponse ,但使用403狀態碼。

類似 httpresponse ,但使用405狀態碼。它必須有乙個引數:允許方法的列表。(例如, [『get』, 『post』] )。

類似 httpresponse ,但使用410狀態碼。

類似 httpresponse ,但使用500狀態碼。

jsonresponse類

返回jsonresponse(data)

例項:

streaminghttpresponse類

streaminghttpresponse是將檔案內容進行流式傳輸,資料量大可以用這個方法

fileresponse類這篇短文主要介紹了django框架中路由機制檢視響應的型別

路由機制:怎麼樣匹配路由?路徑的書寫、路徑的轉換格式?處理函式的兩中表達形式?

檢視響應的型別:一共有多少返回型別?各型別對應那些不同的事物處理?檢視響應區分get和post的請求方式嗎?可以用上面方式來處理不同的請求方式?

Django框架學習

執行開發web伺服器命令 python manage.py runserver 可加ip跟埠127.0.0.1 8000 模板設定 templates 鏈結mysql設定 databases import pymysql pymysql.install as mysqldb urlpatterns ...

Django基礎3(Django框架介紹)

mvc,全名是model view controller,是軟體工程中的一種軟體架構模式,把軟體系統分為三個基本部分 模型 model 檢視 view 和控制器 controller 具有耦合性低 重用性高 生命週期成本低等優點。django框架的設計模式借鑑了mvc框架的思想,也是分成三部分,來降...

Django框架學習 初識Django專案

django admin 檢查是否安裝好django環境 django admin startproject name 建立乙個名為name的django專案 python manage.py check 檢查專案的完整性 python manage.py runserver 本地執行django專...