drf视图家族

drf视图家族:

1、View:将请求方式与视图类的同名方法建立映射,完成请求响应

2、APView:

       1)View的所有功能;

      2)重写as_view禁用csrf认证;

      3)重写dispatch:请求、响应、渲染、异常、解析、三大认证

       4)多了一堆类属性,可以完成视图类的局部配置

3、GenericAPIView:

       1)APView的所有功能

       2)三个方法:get_object()、get_queryset()、get_serializer()

    3)三个属性:queryset、serializer_class、lookup_url_kwarg

   

4、mixins包:

       1)五大工具类:RetrieveModelMixin, ListModelMixin, CreateModelMixin, UpdateModelMixin, DestroyModelMixin

       2)六大工具方法:retrieve、list、create、update、partial_update、destroy

  

5、generics包:

       1)一堆mixins工具类与GenericAPIView视图基类组合

      

6、ViewSetMixin

       1)重写as_view(),完成请求方式与视图方法的自定义映射

              as_view({'get': 'my_get'})

             

7、视图集基类:

       ViewSet(ViewSetMixin, APIView):可以自定义映射关系的APIView

       GenericViewSet(ViewSetMixin, GenericAPIView):可以自定义映射关系的GenericAPIView

      

8、常用Model视图集

       1)ModelViewSet(mixins.CreateModelMixin,

                   mixins.RetrieveModelMixin,

                   mixins.UpdateModelMixin,

                   mixins.DestroyModelMixin,

                   mixins.ListModelMixin,

                   GenericViewSet)

           某一资源的六大操作视图集

          

    2)ReadOnlyModelViewSet(mixins.RetrieveModelMixin,

                           mixins.ListModelMixin,

                           GenericViewSet)

        某一资源的只读操作视图集

原文地址:https://www.cnblogs.com/heruxiu/p/13495494.html