from rest_framework.request import request
rest framework 傳入檢視的request物件不再是django預設的httprequest物件,而是rest framework提供的擴充套件了httprequest類的request類的物件。
def__init__(self, request, parsers=none, authenticators=none,
negotiator=none, parser_context=none):
#二次封裝request,將原生request作為drf request物件的 _request 屬性
self._request =request
def__getattr__
(self,item):
return getattr(self._request,item)
.data:前端以三種編碼格式傳入的資料都可以取出來
.query_params:與django標準的request.get相同,只是更換了名稱
from rest_framework.response import response
def__init__(self, data=none, status=none,
template_name=none, headers=none,
exception=false, content_type=none):
#data:你要返回的資料,字典
#status:返回的狀態碼,預設是200,
-from rest_framework import
status在這個路徑下,它把所有使用到的狀態碼都定義成了常量
#template_name 渲染的模板名字(自定製模板),不需要了解
#headers:響應頭,可以往響應頭放東西,就是乙個字典
#
rest framework提供了乙個響應類response
,使用該類構造響應物件時,響應的具體資料內容會被轉換(render渲染)成符合前端需求的型別。
rest framework提供了renderer
渲染器,用來根據請求頭中的accept
(接收資料型別宣告)來自動轉換響應資料到對應格式。如果前端請求中未進行accept宣告,則會採用預設方式處理響應資料,我們可以通過配置來修改預設響應格式。
可以在rest_framework.settings查詢所有的drf預設配置項
rest_framework =
不管是postman還是瀏覽器,都返回json格式資料
全域性配置
-在setting.py中加入如下rest_framework =
區域性配置
-在檢視類中寫如下from rest_framework.renderers import
jsonrenderer
renderer_classes=[jsonrenderer,]
drf的配置資訊,先從自己類中找--》專案的setting中找---》預設的找
請求和響應
1 response物件的字元輸入流在編碼時候,採用的是iso 8859 1的編碼表 在httpservletresponse介面中,有setcharacterencoding utf 8 方法來設定字元編碼 2 瀏覽器的解碼方式是gb2312,而我們使用的編碼是 utf 8 因此亂碼。sethea...
請求和響應
如果你正在做基於rest的web服務,你最好忽略request.post和request.get rest framework的request類擴充套件了標準的httprequest,新增對rest framework的靈活請求解析和請求身份驗證的支援。rest framework的請求物件提供靈活...
請求和響應
post方式請求 request.setcharacterencoding utf 8 response.setcontenttype text html charset utf 8 get方式請求 get方式請求的正文是在位址列中,在tomcat8.5版本以後,tomacat伺服器已經幫我們解決了...