首页 > 其他分享 >9个视图子类

9个视图子类

时间:2023-09-05 17:45:36浏览次数:50  
标签:子类 rest framework 视图 generics import class

视图类五层

第一层:继承APIview,五个接口

第二层:GenericAPIView,继承APIview(两个类属性+def get post get put delete)

第三层:五个视图扩展类 GenericAPIView +(RetrieveModelMixin, CreateModelMixin, DestroyModelMixin,ListModelMixin,UpdateModelMixin)(两个类属性+def get post get put delete)

第四层:9个视图子类(ListAPIView, CreateAPIView, ListCreateAPIView,RetrieveAPIView, DestroyAPIView, UpdateAPIView,RetrieveUpdateDestroyAPIView, RetrieveDestroyAPIView, RetrieveUpdateAPIView) (两个类属性)

第五层视图集

9个视图子类

from rest_framework.generics import ListAPIView, CreateAPIView, ListCreateAPIView
from rest_framework.generics import RetrieveAPIView, DestroyAPIView, UpdateAPIView
from rest_framework.generics import RetrieveUpdateDestroyAPIView, RetrieveDestroyAPIView, RetrieveUpdateAPIView

想写五个接口中的某一个或某几个或者所有,只需要选择继承不同的类即可

需要配置下列两个属性:

      queryset = 表名.objects.all()
      serializer_class = 序列化类

 

from rest_framework.generics import ListCreateAPIView,CreateAPIView,ListAPIView
from rest_framework.generics import UpdateAPIView,DestroyAPIView,RetrieveAPIView,RetrieveUpdateDestroyAPIView,RetrieveUpdateAPIView,RetrieveDestroyAPIView

class PublishView(ListCreateAPIView):
    queryset = Publish.objects.all()
    serializer_class = PublishSerializer

class PublishDetialView(RetrieveUpdateDestroyAPIView):
    queryset = Publish.objects.all()
    serializer_class = PublishSerializer

 

视图集

ModelViewSet:视图类继承它,需要改路由,5个接口都有

路由配置:

 视图:

 源码分析:

ViewSetMixin里的as_view

 

以后视图类中方法名可以随意命名,只要路由做好映射:

例如:在视图类中写一个login方法,然后路由匹配成如下所示,就可以执行login

 继承的类是:ViewSetMixin

视图类中方法任意命名,路由根据其一起变化。

ReadOnlyModelViewSet

以后写的接口,只想有 获取单条和获取所有,继承它

 

标签:子类,rest,framework,视图,generics,import,class
From: https://www.cnblogs.com/YeeQX/p/17680321.html

相关文章

  • drf之请求,drf 之响应,drf之响应格式,两个视图基类,基于GenericAPIView,5个视图扩展类
    drf之请求1.1之请求Request类#data#query_params#用起来跟之前一样了解: request._request视图类的方法中:self是咱们写的视图类的对象,self.request是新的request,self.request是一个HttpRequest对象,它提供了许多属性和方法来访问和处理请求的信息.1.2......
  • drf-视图组件
    一、视图DjangoRESTframwork提供的视图的主要作用:控制序列化器的执行(检验、保存、转换数据)控制数据库查询的执行RESTframework提供了众多的通用视图基类与扩展类,以简化视图的编写。1. 两个视图基类1.1APIViewfromrest_framework.viewsimportAPIViewAPIView......
  • drf请求和响应、GenericAPIView封装、5个视图扩展类
    一、drf之请求1、drf之请求Request类视图类继承APIView后多了-0去除了csrf认证-1新的request-request.data-request.query_params-request.其他跟之前一样-request._request是老的-2三大认证-3全局异常2、控制前端请求的编码格式fromrest_fra......
  • Prism视图模型定位器(ViewModelLocator)
    视图模型定位器(ViewModelLocator)依照“标准命名约定”将视图(View)中的数据上下文链接到视图模型(ViewModel)的实例。自动绑定视图模型Prism视图模型定位器(ViewModelLocator)有一个AutoWireViewModel属性:当设置为true时,AutoWireViewModelChanged事件调用类中的ViewMod......
  • 视图开发 命令式 声明式 将视图和数据分离
    10|Widget中的State到底是什么?https://time.geekbang.org/column/article/108576 下述代码分别展示了在Android、iOS及原生Javascript中,如何将一个文本控件的展示文案更改为HelloWorld://Android设置某文本控件展示文案为HelloWorldTextViewtextView=(TextView)f......
  • ORA-01031: insufficient privileges 19c跨用户视图查询 with grant option
    问题概述某客户从11.2.0.1升级迁移到19.16版本后,应用反应部分查询功能无法使用报无权限,数据库中增加了ORA-01031:insufficientprivileges跟踪event进行分析问题复现创建三个测试用户createusertest1identifiedbyoracle123;createusertest2identifiedbyoracle123;......
  • 通过父类创建子类
    通过父类创建子类 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceZZX.Model.ViewModel{///<summary>///用户所申请的工作///</summary>publicclassUserJob:J......
  • [转]C++使用虚函数的时候,子类也要使用virtual关键字吗
    原文地址:https://blog.csdn.net/gao1440156051/article/details/45670715父类使用虚函数是为了让子类重写,那子类重写的时候也需要带virtual关键字吗?比如:classBase{virtualboolinit();};classDerived{virtualboolinit();//这里的vitual是必须的吗?好像不用也能编译通过呃…......
  • Cognex InSight 电子表格视图功能介绍
    1.界面预览:这里我们将整体界面大致分为7个大的部分,当然布局可以按照自己的习惯自由拖放,这里只展示默认视图。各部分的功能说明:①菜单栏:这里对关键几个功能做介绍,没有提到都不是很重要 查看:当界面上的某一部分没有显示时,可以通过查看菜单重新打开。 传感器: 帮助–InS......
  • sql server创建视图操作
    1、什么是视图视图就是一个虚拟的数据表,该数据表中的数据记录是有一条查询语句的查询结果得到的。2、创建视图准则创建视图需要考虑一下准则:  #视图名称必须遵循标识符的规则,该名称不得与该架构的如何表的名称相同  #你可以对其他......