首页 > 其他分享 >DRF之APIView全笔记

DRF之APIView全笔记

时间:2023-07-31 14:24:32浏览次数:26  
标签:GenericAPIView get APIView self mixins 笔记 视图 DRF

一.APIView
基本视图,所有的都用这个来作
viewsetmixin主要管as_view{}里的调配 让视图不再需要两个类

二.通用视图GenericAPIView(rest_framework.viewsets)

GenericAPIView一共五个功能,数据库获取、分页、序列化、getobject\还有frilter_queryset__东西挺多的
主要管self.get_object和self.get_queryset这个基本技术————但凡带APIView就说明已经有了self.get_object和self.get_queryset

三.Mixin(五大混入类)继承自rest_framework.mixins
——————我觉得和二是平行关系 在开发过程中使用 `五大类` 或 `ModelViewSet` 是比较常见的
——————都要调用genericAPIView里面的self.get_object和self.get_queryset,不然不能用(以下五个只有功能,没继承任何人)
ListModelMixin (list)
CreateModelMixin (crete)
RetrieveModelMixin (Retrive)
UpdateModelMixin (update)分为部分和全部这个有点特殊
DestroyModelMixin (destroy)


四.GenericAPIView的视图子类(9大方法)
这个感觉比较中庸,

五视图集ViewSet继承自APIView与ViewSetMixin
————这个主要管自定义get,list等方法,可以将get改成got之类,自己玩名字。既有了{}的分配功能,又有了.APIView里的基本功能————感觉用得不多
class ViewSet(ViewSetMixin, views.APIView)
————这个ViewSet和上面的ViewSetMixin事情觉是一个体系

六GenericViewSet(rest_framework.viewsets)一般用这个多一些,而不用第二个GenericAPIView.
继承自GenericAPIView和ViewSetMixin,
注意,绕开了ViewSet好像,不自己自定义名字了,直接用五大类和GenericViewSet来做配合,

七.ModelViewSet最终集大成
class ModelViewSet(mixins.CreateModelMixin,
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.DestroyModelMixin,
mixins.ListModelMixin,
GenericViewSet):

在Vue里安装router时use history for router的网址中没有#号,看起来好看12小节router安装
13小节,Vue里:to以对象形式绑定路由,由原来的地址,改成对象,直接to就是地址
重要在Vue中vouter.query是参数 params对应ID query是问号传过来的值

标签:GenericAPIView,get,APIView,self,mixins,笔记,视图,DRF
From: https://www.cnblogs.com/wenjingping/p/17593289.html

相关文章

  • 【1.0】DRF之引入
    【一】web应用模式【1】前后端混合开发后端人员既要写后端,django又要写前端【2】前后端分离后端人员只写后端,写一个个的API接口前端人员只写前端最后项目写完前后端联调【二】API接口【1】详解【1】介绍API接口(ApplicationProgrammingInterfa......
  • 【3.0】DRF之初识
    【一】序列化与反序列化api接口开发,最核心最常见的一个过程就是序列化【1】序列化把我们识别的数据转换成指定的格式提供给别人。例如:我们在django中获取到的数据默认是模型对象(queryset)但是模型对象数据无法直接提供给前端或别的平台使用所以我们需要把数据进行......
  • 【2.0】DRF之Restful规范
    【一】Restful【1】介绍Restful(RepresentationalStateTransfer)是一种软件架构风格,它定义了一组规范和约束,用于设计可伸缩、可维护和易于集成的分布式系统。Restful架构的核心概念是资源(Resource)和资源的表述(Representation)。资源是指系统中的任何信息,可以是一个文档、......
  • 【5.0】DRF之序列化组件
    【一】序列化组件介绍做序列化做反序列化在反序列化保存到数据库之前,做数据库校验【1】介绍DRF(DjangoRESTframework)是一个用于构建基于Django的WebAPI的强大框架。在DRF中,序列化组件是其中一个核心组件,用于在API请求和响应中处理数据的转换和验证。序列......
  • 【4.0】DRF之Request类源码分析
    【一】引入classBooksView(APIView):defpost(self,request):''':paramrequest:新的request,不是原来的那个:return:'''print(type(request))#rest_framework中的新request#继承APIView......
  • 【6.0】DRF之序列化组件高级
    【一】序列化高级之Source【补充】on_delete的参数详解models.CASCADE(级联删除):当删除与该字段关联的对象时,所有相关的对象将被级联删除。例如,如果一个出版社对象被删除了,与该出版社相关联的所有图书对象也会被删除。models.SET_DEFAULT:(设置为默认值):当删除与该字段关联的对......
  • 【7.0】DRF之DRF请求与响应
    【一】Request类对象分析【1】.datarequest.data返回解析之后的请求体数据。类似于Django中标准的request.POST和request.FILES属性,但提供如下特性:包含了解析之后的文件和非文件数据包含了对POST、PUT、PATCH请求方式解析后的数据利用了RESTframework的parsers解析器,不......
  • 【8.0】DRF之DRF视图扩展类
    【一】5个视图扩展类GenericAPIView+5个视图扩展类+序列化类+Response写接口【1】5个视图扩展类对应五个方法查询所有数据新增一条数据查询单条数据修改一条数据删除一条数据【2】写5个类的好处就是解耦合,提高代码的可扩展性这五个类不叫视图类,叫视图扩展......
  • 【9.0】DRF之路由
    【一】路由的写法【1】原始写法介绍是指手动编写路由规则的方式。使用path()函数或re_path()函数来定义路由规则,并将其与对应的视图函数或类关联起来。例如假设有一个名为book的应用,它包含了一个处理图书列表的视图函数book_list,以及一个处理单个图书详情的视图函数book_......
  • 【10.0】DRF之登录认证和权限频率组件
    【准备数据】fromdjango.dbimportmodels#Createyourmodelshere.classUserInfo(models.Model):name=models.CharField(max_length=32)password=models.CharField(max_length=64)classUserToken(models.Model):token=models.CharField(max_le......