django開發系列:視圖高級之HttpResponse對象
HttpResponse對象
Django服務器接收到客戶端發送過來的請求後,會將提交上來的這些數據封裝成一個HttpRequest對象傳給視圖函數。那麼視圖函數在處理完相關的邏輯後,也需要返回一個響應給瀏覽器。而這個響應,我們必須返回HttpResponseBase或者他的子類的對象。而HttpResponse則是HttpResponseBase用得最多的子類。那麼接下來就來介紹一下HttpResponse及其子類。
常用屬性
content
:返回的內容。也是HttpResponse構造的第一個參數status_code
:返回的HTTP響應狀態碼。content_type
:返回的數據的MIME類型,默認爲text/html
。瀏覽器會根據這個屬性,來顯示數據。如果是text/html,那麼就會解析這個字符串,如果text/plain,那麼就會顯示一個純文本。
def index(request):
#解決亂碼需要挺假charset字段,注意有;分號
response = HttpResponse("嚶嚶嚶", content_type='text/plain;charset=utf-8')
return response
常用的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'] = 'xxxx'
。可以用request.META.get('X-Access-Token')
獲得
常用方法
set_cookie()
:用來設置cookie信息。delete_cookie()
:用來刪除cookie信息。write()
:HttpResponse是一個類似於文件的對象,可以用來寫入數據到數據體(屬性content)中。