HttpResponse 對象
Django服務器接收到客戶端發送過來的請求后,會將提交上來的這些數據封裝成一
個 HttpRequest 對象傳給視圖函數。那么視圖函數在處理完相關的邏輯后,也需要返回一個響應
給瀏覽器。而這個響應,我們必須返回 HttpResponseBase 或者他的子類的對象。
而 HttpResponse 則是 HttpResponseBase 用得最多的子類。那么接下來就來介紹一
下 HttpResponse 及其子類
1. 常用屬性
-
content:返回的內容。
-
status_code:返回的HTTP響應狀態碼。
-
content_type:返回的數據的MIME類型,默認為 text/html 。瀏覽器會根據這個屬性,來顯
示數據。如果是 text/html ,那么就會解析這個字符串,如果 text/plain ,那么就會顯示一
個純文本。常用的 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' 。
2. 常用方法
-
init :使用頁內容實例化HttpResponse對象
-
write(content):以文件的方式寫
-
flush():以文件的方式輸出緩存區
-
set_cookie(key, value='', max_age=None, expires=None):設置Cookie
key、value都是字符串類型
max_age是一個整數,表示在指定秒數后過期
expires是一個datetime或timedelta對象,會話將在這個指定的日期/時間過期,注意datetime和timedelta值只有在使用PickleSerializer時才可序列化
如果max_age 和expires 都沒有指定,則是 表示關閉瀏覽器就失效
-
delete_cookie(key):刪除指定的key的Cookie,如果key不存在則什么也不發生
注意: 注意:設置cookie值以及刪除cookie值都是response對象的操作,而獲取cookie是從request相應中獲得的.