首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用或继承自APIView和ViewSet模型的区别是什么

使用或继承自APIView和ViewSet模型的区别如下:

  1. APIView模型:
    • 概念:APIView是Django REST Framework(DRF)中的一个基于类的视图,用于处理API请求和响应。
    • 分类:APIView是一个基础类,需要手动处理请求和响应的逻辑。
    • 优势:具有更高的灵活性,可以自定义处理逻辑和响应格式。
    • 应用场景:适用于需要自定义请求和响应逻辑的场景,例如需要处理非标准的API请求或响应格式。
    • 推荐的腾讯云相关产品:腾讯云API网关(API Gateway)可以用于管理和发布API接口,实现灵活的API请求和响应处理。详情请参考:腾讯云API网关
  2. ViewSet模型:
    • 概念:ViewSet是DRF中的一个基于类的视图,用于处理API请求和响应。
    • 分类:ViewSet是一个高级类,封装了常见的CRUD(创建、读取、更新、删除)操作,并提供了默认的请求和响应逻辑。
    • 优势:提供了简化的CRUD操作,减少了编写重复代码的工作量。
    • 应用场景:适用于常见的CRUD操作,例如对数据库模型进行增删改查的API接口。
    • 推荐的腾讯云相关产品:腾讯云Serverless Cloud Function(SCF)可以用于快速构建和部署无服务器函数,实现灵活的API请求和响应处理。详情请参考:腾讯云Serverless Cloud Function

总结:使用APIView和ViewSet模型的区别在于灵活性和功能复杂度。APIView提供了更高的灵活性,适用于需要自定义请求和响应逻辑的场景;而ViewSet提供了简化的CRUD操作,适用于常见的增删改查操作。根据具体需求选择合适的模型来处理API请求和响应。

相关搜索:使用.call()和prototype进行继承的区别按视图模型创建视图模型和使用Factory创建视图模型的区别?使用通用BLoC提供程序和继承的小部件有什么区别?IBM NL分类器和NLU自定义模型分类之间的区别是什么?如何使用joblib或pickle导出从KerasClassifier和Gridsearchcv创建的模型?实体框架 - 使用Include/eager加载和延迟加载之间的区别是什么?在空白和预训练的SpaCy模型上使用nlp.update()时有区别吗?使用Django创建同步(实时和离线)的最佳实践或模式是什么?使用函数参数约束编写函数的智能和/或pythonic方法是什么?子进程Popen和call之间的区别是什么(我该如何使用它们)?PHP:使用"new"和没有它来初始化数组之间的区别是什么?使用jQuery和JavaScript选择元素时,浏览器中显示的区别是什么均方误差和均方误差之间的区别是什么?较低的ASE / MSE是否意味着更好的模型?在显示QLPreviewController文件或任何文本文件时,WebView和PDF的主要区别是什么?使用hibernate和spring获取或忽略延迟加载的对象的正确方式是什么C++ get和typecasting之间的用法区别是什么?我应该使用哪一个?在使用Kafka和Apache光束的上下文中,Coder和Kafka反序列化程序之间的区别是什么?http和https模块之间的区别是什么?以及如何在客户端脚本中使用http模块?Keras:对于完全相同的数据和架构,训练性能是不同的。唯一的区别是使用.Sequential()或.Model()在iOS上的Objective-C中,使用合成getter时"self.foo"和"foo"之间的(样式)区别是什么?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

DRF框架(九)——视图集ViewSet,ModelViewSet,将增删改查写到一个类里面,viewsetmixin (注意路由设置)

目录 总结 继承ViewSet实现增删改查 路由 继承GenericViewSet实现增删改查 路由 总结 1.常用视图集父类   ViewSet  继承自APIView和ViewSetMixin,没有提供任何方法..., 需要自己写   GenericViewSet  继承GenericAPIView和ViewSetMixin, 其中GenericAPIView提供了基础方法,可以直接搭配Mixin扩展类使用,所以我们选这个...类,再继承一个视图类(GenericAPIView或APIView) 2)ViewSetMixin提供了重写的as_view()方法,继承视图集的视图类,配置路由时调用as_view()必须传入...ViewSet实现增删改查 ViewSet,只要继承了这个,就实现了增删改查,但是要重写查询全部和详情。...最主要的就是路由的书写 """以下是APIView的视图集""" # class BookViewSet(ViewSet): # """视图集""" # # def list(self,

1.9K10

【愚公系列】2022年04月 Python教学课程 70-DRF框架之视图集

P\d+)/$', BookInfoViewSet.as_view({'get': 'retrieve'}) ] 一、基本视图集 1.ViewSet 继承自APIView与ViewSetMixin,作用也与...ViewSet主要通过继承ViewSetMixin来实现在调用as_view()时传入字典(如{‘get’:‘list’})的映射处理工作。...ViewSet通常并不方便,因为list、retrieve、create、update、destory等方法都需要自己编写,而这些方法与前面讲过的Mixin扩展类提供的方法同名,所以我们可以通过继承Mixin...GenericViewSet就帮助我们完成了这样的继承工作,继承自GenericAPIView与ViewSetMixin,在实现了调用as_view()时传入字典(如{‘get’:‘list’})的映射处理工作的同时..."""经过上面的处理,我们就已经把所有视图方法写在一个类中了,但是继承父类有点多 所以,drf里面提供了模型视图集[ModelViewSet],可以一次性提供5个api接口的方法 最后,def还提供了只读模型视图集

1.6K30
  • DRF 视图组件

    action属性 DRF 视图组件 DRF框架提供了很多通用的视图基类与扩展类,上篇使用的APIView是比较偏Base的,视图的使用更加简化了代码,这里介绍一下其他视图的用法 Django...APIView:DRF最顶层视图类 GenericAPIView:DRF通用视图类 五个扩展类 扩展类不是视图类,没有集成APIView,需要配合GenericAPIView使用,因为五个扩展类的实现需要调用...ViewSet:继承自APIView与ViewSetMixin,作用也与APIView基本类似,提供了身份认证、权限校验、流量管理等。...GenericViewSet就帮助我们完成了这样的继承工作,继承自GenericAPIView与ViewSetMixin,在实现了调用as_view()时传入字典(如{'get':'list'}`)的映射处理工作的同时...,以前的写法可以继续使用,但是如果要自动生成路由必须得继承ViewSetMixin及其子类;或者选择继承ViewSet、GenericViewSet class ViewSetMixin: ""

    94010

    drf之请求、响应、视图

    2.1 两个视图基类 2.1.1 APIView APIView是drf 提供的所有视图的基类,继承自Django的View父类。...GenericAPIView 继承自APIVIew,主要增加了操作序列化器和数据库查询的方法,作用是为下面Mixin扩展类的执行提供方法支持。通常在使用时,可搭配一个或多个Mixin扩展类。...(self) :返回详情视图所需的模型类数据对象,主要用来提供给Mixin扩展类使用。...3.1 常用的视图集父类 ViewSet : 继承自APIView与ViewSetMixin,作用也与APIView基本类似,提供了身份认证、权限校验、流量管理等。...GenericViewSet就帮助我们完成了这样的继承工作,继承自GenericAPIView与ViewSetMixin,在实现了调用as_view()时传入字典(如{'get':'list'})的映射处理工作的同时

    2.2K20

    RESTful源码笔记之RESTful Framework的APIview, Viewset总结分析

    它们两者的关系同1,要么设置属性,要么重载方法。它们的功能在于获取某一个实例时,指定传进来的后缀是什么。   ...GenericAPIView还包括了其他几个View: CreateAPIView、ListAPIView、RetrieveAPIView、ListCreateAPIView···等等,其实他们都只是继承了相应一个或多个...viewset的功能 GenericViewSet继承了GenericAPIView,依然有get_queryset,get_serialize_class相关属性与方法,GenericViewSet...# 只需要加入一次 url(r'^', include(router.urls)),] route中使用的一定要是ViewSet,用router.register的方法注册url不仅可以很好的管理...的强大功能就介绍完了,强烈建议在做drf的时候,使用ViewSet与mixins方法结合进行开发,为我这种小白开发者提供了很强大完整的功能!

    1K10

    路由是如何映射的?

    继承ModelViewSet,路由写法 自己配路由的映射 自动生成路由 action装饰器 继承APIView+ViewSetMixin使用装饰器 路由router形成URL的方式 DRF 路由组件...路由的配置上篇我们提到了一点自动配置,对于继承了视图集ViewSet就可以自动生成路由,当然了也可以选择手动版自己配,可以使用action装饰器来指定方法等操作,屁话不多说如下: REST framework...提供了两个router SimpleRouter DefaultRouter 路由组件使用,如果视图类继承了ViewSetMixin及其子类,那么路由写法可以改变,而且视图类中的方法也可以自定制,不一定是...是否带id,True不带id,False带id url_path:地址,地址如果不写,默认已方法名为地址 url_name:起别名 继承APIView+ViewSetMixin使用装饰器 from rest_framework.decorators...pk 最后都是路由前缀拼接一个方法名 路由router形成URL的方式 1) SimpleRouter 2)DefaultRouter DefaultRouter与SimpleRouter的区别是,

    72410

    django rest framework通用view

    它们两者的关系同1,要么设置属性,要么重载方法。它们的功能在于获取某一个实例时,指定传进来的后缀是什么。...GenericAPIView还包括了其他几个View: CreateAPIView、ListAPIView、RetrieveAPIView、ListCreateAPIView···等等,其实他们都只是继承了相应一个或多个...viewset的功能   GenericViewSet继承了GenericAPIView,依然有get_queryset,get_serialize_class相关属性与方法,GenericViewSet...# 只需要 url(r'^', include(router.urls)),] route中使用的一定要是ViewSet,用router.register的方法注册url不仅可以很好的管理url...的强大功能就介绍完了,强烈建议在做drf的时候,使用ViewSet与mixins方法结合进行开发,为我这种小白开发者提供了很强大完整的功能!

    1K20

    drf框架接口文档

    接口文档以网页的方式呈现。 自动接口文档能生成的是继承自APIView及其子类的视图。 一.安装依赖 pip install coreapi 二.设置接口文档访问路径 在总路由中添加接口文档路径。...path('docs/', include_docs_urls(title='站点页面标题')) ] 三.文档描述说明定义位置 1) 单一方法的视图,可直接使用类视图的文档字符串,如 class BookListView...post: 新建图书. """ 3)对于视图集ViewSet,仍在类视图的文档字符串中封开定义,但是应使用action名称区分,如 class BookInfoViewSet(mixins.ListModelMixin...read: 修改图书的阅读量 """ 四.访问接口文档网页 有两点要说明 1) 视图集ViewSet中的retrieve名称,在接口文档网站中叫做read 2)参数的Description...需要在模型类或序列化器类的字段中以help_text选项定义,如: class BookInfo(models.Model): ...

    80250

    Django rest Framework入门 四 :视图

    # ViewSet 虽然ModelViewSet在配合Django的数据库模型类开发的时候非常高效,但是它并不适用于所有的场景,比如当后端没有对应数据库模型类的时候就是不能使用它了。...下面是使用ViewSet实现视图类的代码,包含视图类代码本身和url配置代码,基于ViewSet实现的视图类,在url上有一些特定的配置。...总结 可以看到,总的来说,ModelViewSet在有数据库模型类的情况还是比ViewSet好用很多的,但是当后端没有数据库模型类的时候,就只能使用ViewSet了,所谓我们对于这两个视图类都要有一定的掌握...其实ModelViewSet和ViewSet分别继承于GenericViewSet和APIView,上面说到的他们的不同点也正是源于此,建议读者可以看看rest_framework.viewsets里面的源码...,里面详细地写明了从GenericViewSet和APIView发展到ModelViewSet和ViewSet的过程,有助于理解里面的细节,也能在以后开发中遇到问题的时候更容易debug。

    11910

    Django REST Framework-路由器(一)

    路由器可以根据视图函数的名称和参数,自动生成URL,并将请求分发到对应的视图函数中。使用路由器可以避免手动编写URL配置的繁琐和容易出错。二、路由器的使用安装DRF在使用路由器之前,需要先安装DRF。...使用视图集需要先定义一个继承自ModelViewSet或ViewSet的类,然后将这个类传递给路由器的register方法即可。...这个方法需要将视图函数包装成APIView或View的子类,然后将这个类的实例传递给路由器的register方法即可。...例如,下面的代码定义了一个继承自APIView的视图类HelloView,然后将这个类注册到路由器中:from rest_framework.views import APIViewfrom rest_framework.response...由于HelloView继承自APIView,因此需要使用as_view方法将其转换为视图函数。添加路由器到URLconf注册视图函数之后,还需要将路由器添加到Django的URLconf中。

    74141

    Django rest-framework视图家族

    、GenericAPIView APIView from rest_framework.views import APIView 继承基本View,拥有View所有的功能 重写了as_view()方法,...import GenericAPIView 继承APIView,拥有APIView所有的功能 提供get_queryset方法:配置queryset类属性,群查获取QuerySet对象 提供get_object...就是在APIView基础上额外提供了三个方法和三个类属性,如果不配合视图工具类,则体现不出来优势所在 使用它的好处:视图中的增删改查逻辑其实大差不差,但操作的资源不一致(操作的资源指的是models模型类和序列化类...视图类进行组合,我们不再需要继承GenericAPIView类 不同的组合封装成一个个的类,实现对应的请求方法(get、post、put、patch、delete) 随后就是用单查就继承单查的接口,用群查就继承群查的接口即可...以上的步骤我们继承视图集的ModelViewSet类实现了六大接口,但是从实际开发角度分析有很多不合理的点: 没有群增,群整体改,群局部改,群删四个接口 删除只做字段的修改 响应的结果只有数据,没有数据状态码和状态信息

    77120

    Django REST Framework-常用的类视图

    例如,如果您想要编写一个视图来处理一个模型的列表,并支持GET,POST和DELETE请求,您可以使用GenericAPIView,如下所示:from rest_framework.generics import...在视图中,我们指定了要使用的查询集和序列化器,并使用list,create和destroy方法处理GET,POST和DELETE请求。...与APIView不同,您不需要手动处理请求,并确定要返回的响应。相反,您可以使用内置的方法来处理常见API操作。...例如,如果您想要编写一个视图来处理一个资源的列表,并支持GET和POST请求,您可以使用ViewSet,如下所示:from rest_framework import viewsetsfrom rest_framework.response...本文介绍了Django REST Framework中最常用的类视图,包括APIView,GenericAPIView,ModelViewSet,ReadOnlyModelViewSet和ViewSet

    70030

    Python进阶41-drf框架(三)

    APIView的,使用完全兼容APIView # 重点:GenericAPIView在APIView基础上完成了哪些事 # 1)get_queryset():从类属性queryset中获得model的queryset...,再继承一个视图类(GenericAPIView或APIView) # GenericViewSet、ViewSet # 2)ViewSetMixin提供了重写的as_view()方法,继承视图集的视图类...作为两大继承视图的区别 # 1)GenericViewSet和ViewSet都继承了ViewSetMixin,as_view都可以配置 请求-函数 映射 # 2)GenericViewSet继承的是GenericAPIView...视图类,用来完成标准的 model 类操作接口 # 3)ViewSet继承的是APIView视图类,用来完成不需要 model 类参与,或是非标准的 model 类操作接口 # post请求在标准的...import SimpleRouter router = SimpleRouter() # 所有路由与ViewSet视图类的都可以注册,会产生 '^v6/books/$' 和 '^v6/books/(?

    56420

    DRF进阶之DRF视图和常用功能

    APIView:DRF提供的所有视图的基类,继承View并扩展,具备了身份认证、权限检查、流量控制等功能。...GenericAPIView:对APIView更高层次的封装,例如增加分页、过滤器 GenericViewSet:继承GenericAPIView和ViewSet ViewSet:继承APIView...APIView类 APIView:DRF提供的所有视图的基类,继承View并扩展,具备了身份认证、权限检查、流量控制等功能 创建项目 创建app并加入settings.py E:\workspace\...,删除,查看 ViewSet类 GenericAPIView已经完成了许多功能,但会有一个问题,获取所有用户列表和单个用户需要分别定义两个视图和URL路由,使用ViewSet可以很好解决这个问题,并且实现了路由自动映射...与普通Token一样,都是访问资源的令牌,区别是普通Token服务端验证token信息要查询数据库验证,JWT验证token信息不用查询数据库,只需要在服务端使用密钥效验。

    4.8K10

    重点内容回顾-DRF

    class 序列化器类名(serializers.Serializer): # 字段名 = serializer.字段类型(选项参数) 如果我们想要使用序列化器对应的是Django的模型类,那么可以继承自...为了方便我们开发RestAPI,DRF框架除了提供APIView和GenericAPIView视图类之外,还提供了一些子类视图类,这些子类视图类同时继承了GenericAPIView和对应的Mixin扩展类...最基础的父类,我们一般不使用 GenericViewSet 继承自ViewSetMixin和GenericAPIView,可以配合Mixin扩展类提供对应的处理方法。...ModelViewSet 继承自GenericViewSet和5个对应Mixin扩展类。如果视图集中一次性想要提供5个接口的时候,我们可以继承此父类。...ReadonlyModelViewSet 继承自GenericViewSet和ListModelMixin, RetrieveModelMixin。

    2.5K20

    不会DRF?源码都分析透了确定不来看?

    Django View和DRF APIView的小插曲 DRF之APIView和Request对象分析 APIView的执行流程 Request对象分析 原来的django中没有request.data...序列化: 在Django中获取到的数据默认是模型对象(QuerySet对象),但是模型对象数据无法直接提供给前端或别的平台使用,我们需要把数据进行序列化,变成字符串或json数据提供给前端或其他平台;...写,所以流程是什么,如何执行需要了解,同时也方便理解APIView,顺便提一嘴APIView也是继承了View ----> class APIView(View) 这里需要强调一下,CBV路由归根结底还是...多态、组合、反射 Django View和DRF APIView的小插曲 ps:不管是DRF中的APIView还是乱七八糟的xxView,最后只要继承了Django中的View就是视图类 DRF之APIView...),这里跳转了一下,其实看了父类(View)的源码是和上面Django中写视图类继承的View是一样的,这里的(APIView)的as_view只是进行了简单处理和去掉了csrf中间件校验,真实使用的还是

    1.3K10
    领券