DRF:源码剖析 - 响应器组件
之前我们使用DRF的Response类来将数据响应给客户端,不管是POSTMAN还是浏览器,都能浏览到经过格式化后的漂亮的数据,DRF是怎么做的呢?其实就是通过响应器组件
如果我们不需要使用DRF提供给浏览器的格式化后的数据,只需要禁止该响应方式即可:
响应器组件
用浏览器访问接口,会用页面的形式展示出后台返回的数据,这样前端在处理数据的时候比较麻烦,还需要做进一步的处理,
用postman发送请求,返回的数据是格式化后的数据,
因此,当前端只需要数据时,后端只需要给前端返回数据即可,不需要格式化,此时就用到了响应器组件。
具体使用方式如下:
views.py
from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer class BookView(ModelViewSet): # authentication_classes = [UserAuth] # 指定认证的类,变量名必须是 authentication_classes # permission_classes = [UserPerm] # 指定权限类,变量名必须是 permission_classes # throttle_classes = [app_throttles.RateThrottle] # 制定频率类 renderer_classes = [JSONRenderer] # 指定响应(返回)的类型 queryset = Book.objects.all() serializer_class = BookSerializer
(1)指定 JSONRenderer 浏览器访问结果:
json数据形式

(2)指定 BrowsableAPIRender 浏览器访问结果:
页面形式


浙公网安备 33010602011771号