视图家族补充
一、视图家族:
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 视图集



例子:






案例




最终是:

修改图像



浙公网安备 33010602011771号