請求和響應

2022-08-23 01:39:10 字數 1698 閱讀 6978

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伺服器已經幫我們解決了...