HttpResponse含義:
Django服務器接收到客戶端發送過來的請求后,會將提交上來的這些數據封裝成一個HttpRequest
對象傳給視圖函數。那么視圖函數在處理完相關的邏輯后,也需要返回一個響應給瀏覽器。而這個響應,我們必須返回HttpResponseBase
或者他的子類的對象。而HttpResponse
則是HttpResponseBase
用得最多的子類。
常用屬性及其含義:
- content:返回的內容。
- status_code:返回的HTTP響應狀態碼。
def index(request): response.content='wanrou' #相當於response = HttpResponse('wanrou') response.status_code=400 #設置錯的HTTP響應狀態碼 在network中查看 return response
- content_type:返回數據MIME媒體類型(簡稱MIME類型)默認是text/html。常見得content-type類型如下:
text/html(默認的,html文件)
text/plain(純文本)
text/css(css文件)
text/javascript(js文件)
multipart/form-data(文件提交)
application/json(json傳輸)
application/xml(xml文件)
- 設置請求頭:response['X-Access-Token'] = 'xxx'
常用方法:
- set_cookie:用來設置cookie信息.
- delete_cookie:用來刪除cookie信息
- write:HttpResponse是一個類似於文件的對象,可以用來寫入數據到數據中
def index(request): response = HttpResponse('hello') response.write('everyone') return response
JsonResponse
把對象dump成json字符轉,然后返回將json字符串封裝成Response對象返回給瀏覽器。
from django.http import JsonResponse
def index(request):
a=JsonResponse({"username":"wanrou","age":18})
return a
他的對象只能是字典,如果要給給字典數據進行jump,需要增加safe=False參數
from django.http import JsonResponse def index(request): persons = ['張三','李四','王五'] return HttpResponse(persons,safe=False) #如果不增加safe=False網頁會報錯