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

HttpResponse對象

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

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

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

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

  • 調用模板

python第九講-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二選一

  • 如果不指定過期時間,則兩個星期後過期

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

  • delete_cookie(key):刪除指定的key的Cookie,如果key不存在則什麼也不發生

子類HttpResponseRedirect

  • 重定向,服務器端跳轉

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

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

  • 請求地址欄如圖:

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

  • 請求結果的地址欄如圖:

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

  • 推薦使用反向解析

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

子類JsonResponse

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

  • _init _(data)

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

  • 參數data是字典對象

  • JsonResponse的默認Content-Type為application/json

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

簡寫函數

render

  • render(request, template_name[, context])

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

  • request:該request用於生成response

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

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

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

重定向

  • redirect(to)

  • 為傳遞進來的參數返回HttpResponseRedirect

  • to推薦使用反向解析

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

得到對象或返回404

  • get_object_or_404(klass, args, *kwargs)

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

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

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

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

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

得到列表或返回404

  • get_list_or_404(klass, args, *kwargs)

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

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

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

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

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

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

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



分享到:


相關文章: