目錄
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伺服器已經幫我們解決了...