视图家族补充

一、视图家族:

1、APIView:基类

2、GenericAPIView:基类
            i) 继承APIView的,所以拥有APIView的全部
            ii) 三个类属性:queryset、serializer_class、lookup_field
            iii)三个方法:get_queryset、get_serializer、get_object
            过渡:单独继承GenericAPIView类的视图类,需要自己定义请求方法如get,还需要属性方法体完成请求

3、mixins包:工具类 - eg:RetrieveModelMixin:retrieve
                     retrieve、list、create、update、partial_update、destory
                     过渡:因为上方六个方法体都是依赖与GenericAPIView类的,所以必须配合GenericAPIView类使用

4、generics包:工具视图类
     i)系统完成的GenericAPIView与mixins包下工具类的不同组合
           只需要配置三个类属性

     ii)自己完成GenericAPIView与mixins包下工具类的不同组合
            需要配置三个类属性,需要书写请求方法,如post,内部直接调用self.create方法

     iii)自己继承一堆generics包下的工具视图,完成组合
          只需要配置三个类属性,但是单查、群查不能共存

 例子1:

 

 

 

 

例子2

 5)viewsets 视图集

 

 

 

 

 

例子:

 

 

 

 

 

 

案例

 

  

 

 

 

 最终是:

 修改图像

 

 

 

posted @ 2020-02-22 19:06  薛定谔的猫66  阅读(114)  评论(0)    收藏  举报