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

    满足不是幸福,平平淡淡才是真
  • 相关阅读:
    html之marquee详解
    CSS盒模型
    基于windows API的手柄/键盘映射编程(一)
    阿超的烦恼来临的始端
    阿超的小目标
    程序员的800字作文
    Link to Coding
    项目经理都干些什么啊
    停不下来的英语课联想
    Markdown
  • 原文地址:https://www.cnblogs.com/xing03/p/12607596.html
Copyright © 2011-2022 走看看