zoukankan      html  css  js  c++  java
  • drf-视图基类与扩展类

    基类:

    APIView

    rest_framework.views.APIView

    APIView是REST framework提供的所有视图的基类,继承自Django的View父类

    GenericAPIView

    rest_framework.generics.GenericAPIView

    继承自APIVIew主要增加了操作序列化器和数据库查询的方法,作用是为下面Mixin扩展类的执行提供方法支持。通常在使用时,可搭配一个或多个Mixin扩展类。

    扩展类

    ListModelMixin

    列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码。

    该Mixin的list方法会对数据进行过滤和分页

    CreateModelMixin

    创建视图扩展类,提供create(request, *args, **kwargs)方法快速实现创建资源的视图,成功返回201状态码。

    如果序列化器对前端发送的数据验证失败,返回400错误。

    RetrieveModelMixin

    详情视图扩展类,提供retrieve(request, *args, **kwargs)方法,可以快速实现返回一个存在的数据对象。

    如果存在,返回200, 否则返回404。

    UpdateModelMixin

    更新视图扩展类,提供update(request, *args, **kwargs)方法,可以快速实现更新一个存在的数据对象。

    同时也提供partial_update(request, *args, **kwargs)方法,可以实现局部更新。

    成功返回200,序列化器校验数据失败时,返回400错误。

    DestroyModelMixin

    删除视图扩展类,提供destroy(request, *args, **kwargs)方法,可以快速实现删除一个存在的数据对象。

    成功返回204,不存在返回404。

    子类视图

    CreateAPIView

    提供 post 方法

    继承自: GenericAPIView、CreateModelMixin

    ListAPIView

    提供 get 方法

    继承自:GenericAPIView、ListModelMixin

    RetrieveAPIView

    提供 get 方法

    继承自: GenericAPIView、RetrieveModelMixin

    DestoryAPIView

    提供 delete 方法

    继承自:GenericAPIView、DestoryModelMixin

    UpdateAPIView

    提供 put 和 patch 方法

    继承自:GenericAPIView、UpdateModelMixin

    RetrieveUpdateAPIView

    提供 get、put、patch方法

    继承自: GenericAPIView、RetrieveModelMixin、UpdateModelMixin

    RetrieveUpdateDestoryAPIView

    提供 get、put、patch、delete方法

    继承自:GenericAPIView、RetrieveModelMixin、UpdateModelMixin、DestoryModelMixin

    满足不是幸福,平平淡淡才是真
  • 相关阅读:
    ToString 格式化数值
    肾积水
    十月一日
    9月27日 星期六
    080929 气温骤降
    東京の空
    9月26日 星期五
    9月30日 星期二
    粉蓝房子&电影
    080922 雨
  • 原文地址:https://www.cnblogs.com/xing03/p/12607596.html
Copyright © 2011-2022 走看看