首页
学习
活动
专区
圈层
工具
发布

DRF视图集

DRF视图集 我们在三级视图中,由于获取所有数据和获取一条数据都是使用GET请求,而二级视图(三级视图)只允许有一个get方法,因此我们在两个类中进行了设计,并且这样刚好将路由分开。...而视图集则提供了新的路由和方法集合,来使我们将路由整合起来,方法整合起来。...ViewSet 该类继承自APIView,我们可以使用任何标准属性(如permission_classes,authentication_classes)来控制视图集上的API。...同时DRF提供了适用于视图集的路由来方便使用。 ModelViewSet用起来就显得非常方便了,我们不需要实现各种方法了,只需要重写属性,然后配置路由即可。...好在DRF提供了给视图集使用的路由方式。

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django REST Framework-视图集(一)

    在 Django REST Framework 中,视图集(Viewset)是一种简化了视图函数(View Function)的开发方式,它可以让开发者更快速、更方便地创建 RESTful API。...视图集的基本用法在 Django REST Framework 中,视图集是一个处理 HTTP 请求的类,它封装了一组相关的视图函数,包括列表视图(List View)、详情视图(Detail View...使用视图集,我们可以将这些相关的视图函数封装在同一个类中,以便更好地组织和管理代码。要创建一个视图集,我们需要先定义一个视图集类,并指定其对应的模型和序列化器类。...这样,我们就创建了一个基于模型 Book 的视图集,它支持常用的 CRUD 操作,包括创建、更新、删除、查询列表和查询详情等。...除了基本的 CRUD 操作外,视图集还支持其他一些常用的操作,例如搜索、排序、过滤、分页等。在下面的章节中,我们将详细介绍如何使用视图集进行这些操作。

    79382

    Django REST Framework-视图集(四)

    视图集的过滤器在实际开发中,我们通常需要对 API 的返回结果进行过滤、排序和分页等操作。在 Django REST Framework 中,我们可以使用过滤器(Filter)来实现这些功能。...要在视图集中使用过滤器,我们可以定义 filter_backends 属性,并指定过滤器类。...例如,我们可以定义一个名为 BookViewSet 的视图集类,并使用 DjangoFilterBackend 过滤器来对查询结果进行过滤:from django_filters.rest_framework...要在视图集中使用过滤器,我们可以定义 filter_backends 属性,并指定过滤器类。...例如,我们可以定义一个名为 BookViewSet 的视图集类,并使用 DjangoFilterBackend 过滤器来对查询结果进行过滤:from django_filters.rest_framework

    87282

    Django REST Framework-视图集(五)

    视图集的路由在 Django REST Framework 中,我们可以使用路由(Router)来自动生成 API 的 URL 路由。...路由可以根据视图集的方法自动创建 URL 路径,从而简化 URL 路由的配置工作。要使用路由,我们可以创建一个名为 router 的路由对象,并在其中注册视图集。...结论视图集(Viewset)是 Django REST Framework 中非常方便的 API 开发方式,它可以简化 API 的编写和维护工作,提高开发效率和代码可读性。...通过本文的介绍,我们了解了如何使用视图集来开发 RESTful API,并学习了视图集的基本用法、认证和权限、过滤器、路由等方面的知识。...希望读者能够通过本文的学习,更好地掌握 Django REST Framework 中的视图集技术,并用它来构建更加高效、安全和可靠的 RESTful API。

    79471

    Django REST Framework-视图集类型(一)

    在 Django REST Framework 中,视图集(Viewset)是一种方便的 API 开发方式,它将视图(View)和序列化器(Serializer)组合起来,提供了一组标准的 API 操作...视图集可以分为以下几种类型:ModelViewSetModelViewSet 是最常用的视图集类型,它继承了 GenericAPIView 和 ModelMixin,可以自动生成常用的 CRUD 操作,...例如,我们可以在 views.py 文件中定义一个 BookViewSet 视图集:from rest_framework import viewsetsfrom .models import Bookfrom...queryset = Book.objects.all() serializer_class = BookSerializer在这个例子中,我们使用 viewsets.ModelViewSet 创建一个视图集...例如,我们可以在 views.py 文件中定义一个 AuthorViewSet 视图集:from rest_framework import viewsetsfrom .models import Authorfrom

    76020

    Django REST Framework-如何使用视图集(一)

    如何使用视图集定义视图集定义视图集需要继承 DRF 提供的视图集类,例如 ModelViewSet:from rest_framework import viewsetsfrom .models import...): queryset = Book.objects.all() serializer_class = BookSerializer在这个例子中,我们定义了一个 BookViewSet 视图集...注册视图集接下来,需要将定义好的视图集注册到路由中。我们可以使用 DRF 提供的 DefaultRouter 类来帮助我们自动生成 URL 配置。...BookViewSet)urlpatterns = [ path('', include(router.urls)),]在这个例子中,我们首先导入了 DefaultRouter 类和 BookViewSet 视图集...然后,我们创建了一个路由对象 router,并使用 router.register() 方法将 BookViewSet 视图集注册到路由中。

    1.3K41

    第 5 篇:用视图集,简化你的代码

    所以大部分情况下,即使对资源只有一种操作,我们一般也会使用视图集。...视图集也有 2 个基类:ViewSet 和 GenericViewSet,前者是最基本的视图集类,后者拓展自前者,拓展了很多 Web 开发中的通用逻辑。...好了,视图集已经创建完毕,接下来我们从视图集生成视图函数,并绑定 URL。...别急,这里只是演示一下如何从视图集生成视图函数并绑定 URL,这样能够帮助你更好地理解视图集的工作方式。...第二个参数就是视图集,第三个参数 basename 用于指定视图集生成的视图函数名的前缀。在 django 的 URL 中,一条路由通常由 URL 模式,对应的视图函数和视图函数名组成。

    1.6K10

    WordPress 技巧:判断当前文章中是否有图集(Gallery)

    图集(Gallery)实际上是一种短代码,在 WordPress 中写文章,当你上传多张图片的时候,你可以选择通过图集的方式插入到文章中。这样可能会对排版有一些帮助,或者实现某些效果。...如果我们想要为带有图集的文章赋予特殊的样式或者增加一些内容来实现某些功能的话,就需要判断某篇文章是否有图集这个内容了。...既然图集是一种短代码,那么判断的原理和过程也很简单,你只需要查询出文章的内容,然后通过一些方法来获取短代码 gallery 的内容,这里的方法可以正则匹配或者是截取字符串或者是使用 WordPress...截取字符进行匹配 思路很简单,如果文章中有图集,那么内容中肯定有短代码 我们可以用正则匹配也可以截取这个字符,看看有没有内容。...== false); } 如果里面匹配到了图集的短代码,这个函数就会返回 true,我们可以在诸如 single.php 等文件中,使用 if 语句加上这个函数来判断文中是否有图集然后进行下一步操作了。

    91120

    我新鲜出炉的 plist 图集拆图工具!github

    前两天,有位老朋友找到我,寻求 Cocos 图集的裁图工具,我顺手给了一个 Windows 版本的 PngSplit.exe,我曾经用过多次感觉还行! ?...❝小知识:初学的伙伴可能还不清楚,什么是「图集」? 图集通常是使用 TexturePacker 这个工具,将多张小的碎图合并,导出生成一个 png 文件与同名的 plist 文件。 ?...通过图集可以减少文件体积,提高文件加载速度,更重要的是他能减少 Drawall 提升渲染效率!...❞ 但,我刚给了朋友后,想到如果是 Cocos 格式的图集是有 plist 文件的,通过 plist 可以完美换原之前的碎图,但使用 PngSplit 拆分一些有透明像素的帧动画图片就不行了! ?...最后,我还研究了一下 Python 的代码规范,与 JS、TS 完全不是一个门派的。

    6.9K50
    领券