Python Django請求和響應物件詳解

2022-09-21 10:27:10 字數 1330 閱讀 2997

目錄

django 使用請求和響應物件在系統中傳遞狀態。

當乙個頁面被請求時,django 會建立乙個 httprequest 物件,這個物件包含了請求的元資料。然後,django 載入相應的檢視,將 httprequest 作為檢視函式的第乙個引數。每個檢視負責返回乙個 httpresponse 物件。

下面介紹httprequest物件常用的屬性和方法。

httprequest常用屬程式設計客棧性

原始的 http 請求體作為乙個位元組字串。這對於以不同方式處理非常規 html 表單的資料很有用:二進位制影象,xml 有效負載等。對於處理傳統的表單資料,使用 httprequest.post

代表請求中使用的 http 方法的字串,一定是大寫字母。

乙個類似字典的物件,包含所有給定的 http get 引數。

乙個類似字典的物件,包含所有給定的 http post 引數,前提是請求包含表單資料。如果你需要訪問請求中發布的原始或非表單資料,可以通過 httprequest.body 屬性來訪問。

以上的4個屬性是我們最常用的httprequest屬性。結合實際,我們可能寫出的**如下:

if request.method == "post": # post請求方法

try:

data = json.loads(request.body) # 獲取post請求攜帶的非表單資料(json資料)

except json.jsondecodeerror:

return jsonresponse()

# 表單資料

# keys = request.post.get("keys") # 如果post攜帶的是表單資料,可以這樣獲取。

elif request.method == "get":

keys = request.get.get("keys") # 獲取get請求攜帶的引數

乙個包含所有 cookies 的字典。鍵和值是字串。

乙個類似字典的物件,包含所有上傳的檔案。files 中的每個鍵是 中的 name。files 中的每個值是乙個 uploadedfile。

files 只有在請求方法是 post,並且發布請求的

請求和響應

1 response物件的字元輸入流在編碼時候,採用的是iso 8859 1的編碼表 在httpservletresponse介面中,有setcharacterencoding utf 8 方法來設定字元編碼 2 瀏覽器的解碼方式是gb2312,而我們使用的編碼是 utf 8 因此亂碼。sethea...

請求和響應

如果你正在做基於rest的web服務,你最好忽略request.post和request.get rest framework的request類擴充套件了標準的httprequest,新增對rest framework的靈活請求解析和請求身份驗證的支援。rest framework的請求物件提供靈活...

請求和響應

post方式請求 request.setcharacterencoding utf 8 response.setcontenttype text html charset utf 8 get方式請求 get方式請求的正文是在位址列中,在tomcat8.5版本以後,tomacat伺服器已經幫我們解決了...