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 浏览器访问结果:

    页面形式

                 

 

posted @ 2018-12-12 11:39  葡萄想柠檬  Views(85)  Comments(0)    收藏  举报
目录代码