python第九講-Django框架HttpResponse對象、重定向

HttpResponse對象

在django.http模塊中定義了HttpResponse對象的API

HttpRequest對象由Django自動創建,HttpResponse對象由程序員創建

不調用模板,直接返回數據

調用模板

屬性

content:表示返回的內容,字符串類型

charset:表示response採用的編碼字符集,字符串類型

status_code:響應的HTTP響應狀態碼

content-type:指定輸出的MIME類型

方法

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不存在則什麼也不發生

子類HttpResponseRedirect

重定向,服務器端跳轉

構造函數的第一個參數用來指定重定向的地址

請求地址欄如圖:

請求結果的地址欄如圖:

推薦使用反向解析

子類JsonResponse

返回json數據,一般用於異步請求

_init _(data)

幫助用戶創建JSON編碼的響應

參數data是字典對象

JsonResponse的默認Content-Type為application/json

簡寫函數

render

render(request, template_name[, context])

結合一個給定的模板和一個給定的上下文字典,並返回一個渲染後的HttpResponse對象

request:該request用於生成response

template_name:要使用的模板的完整名稱

context:添加到模板上下文的一個字典,視圖將在渲染模板之前調用它

重定向

redirect(to)

為傳遞進來的參數返回HttpResponseRedirect

to推薦使用反向解析

得到對象或返回404

get_object_or_404(klass, args, *kwargs)

通過模型管理器或查詢集調用get()方法,如果沒找到對象,不引發模型的DoesNotExist異常,而是引發Http404異常

klass:獲取對象的模型類、Manager對象或QuerySet對象

**kwargs:查詢的參數,格式應該可以被get()和filter()接受

如果找到多個對象將引發MultipleObjectsReturned異常

得到列表或返回404

get_list_or_404(klass, args, *kwargs)

klass:獲取列表的一個Model、Manager或QuerySet實例

**kwargs:查尋的參數,格式應該可以被get()和filter()接受

點擊關注發私信(基礎視頻),即可獲取下載鏈接: