• 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

    满足不是幸福,平平淡淡才是真
  • 相关阅读:
    windos下安装多个mysql服务
    mysql 提示too many connections”的解决办法
    python打包成exe
    对于点击后需要等待一段时间才会有的元素的操作
    python自动化报错
    自动化测试中对不能输入的框体的处理
    对于下拉框的处理方法
    selenium自动化遇见Cannot find class in classpath问题
    企业如何留住人才
    如何成为一名优秀的前端工程师
  • 原文地址:https://www.cnblogs.com/xing03/p/12607596.html
Copyright © 2020-2023  润新知