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

django rest_framework 分页

简介 本文主要介绍在drf框架中如何对查询的数据进行分页,在drf框架中有提供该基础功能的使用案例和文档,详情参考drf-pagination-官网文档 (opens new window) 内置分页方式...drf框架中默认提供几种分页方式,并封装成了模块提供给开发者调用,主要是以下几种: PageNumberPagination,主要是提供page​和page_size​进行分页。...,在REST_FRAMEWORK​中设置DEFAULT_PAGINATION_CLASS​,该key是指定分页模式使用哪个分页类,而这里使用的是drf框架中内置的分页类LimitOffsetPagination...局部 在某些业务场景是不需要分页的,或者不同的接口需要使用的分页模式不同,那么上面的全局配置方法就不适用的了,这个时候就需要使用局部配置的方式。...首先不进行全局模式,在需要分页的View中添加pagination_class​并设置对应的分页模式类,这里使用的是自定义的分页类,该配置只会在本View中生效。

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

    Django REST Framework-分页(一)

    分页器DRF 提供了多种分页器,可以根据不同的需求进行选择。分页器可以在视图集合中使用,以将查询结果分成多个页面,并将每个页面的数据返回给客户端。...以下是 DRF 内置的分页器:PageNumberPagination: 基于页码的分页器,将查询结果分成多个页面,并将每个页面的数据返回给客户端。客户端可以通过 page 查询参数指定要返回的页面。...BookPagination 的分页器类,并设置了每页返回的对象数量为 10。...我们还为客户端指定了可以在查询参数中使用的 page_size 参数,并设置了最大页面大小为 100。最后,我们将 BookPagination 分页器类添加到 BookViewSet 视图集合中。...客户端可以在查询参数中指定 page 参数来请求不同的页面。

    28910

    8.寻光集后台管理系统-用户管理(增删改查)

    我们希望有一些更高级的行为,以确保: 项目总是与创建者相关联。 只有经过身份验证的用户才能创建项目。 只有项目的创建者才能更新或删除它。 未经身份验证的请求应该具有完全只读访问权限。...权限用于授予或拒绝不同类别的用户访问 API 的不同部分。 最简单的权限样式是允许任何经过身份验证的用户访问,而拒绝任何未经身份验证的用户访问。 如何确定权限 DRF中权限始终定义为权限列表。...还可以使用pagination_class属性在单个视图上设置分页类。 修改分类样式 如果希望修改分页样式的特定方面,则需要覆盖其中一个分页类,并设置要更改的属性。...内置分页类 PageNumberPagination 这是一个简单的页码的分页类。...django_paginator_class - django框架分页类。默认使用django.core.paginator.Paginator。 page_size - 表示一页数据条数的数值。

    1.8K30

    DRF系列总结二:脚手架搭建

    一、安装DRF   首先,我们创建一个Django基础工程demo,并创建一个测试app,得到了Django框架的初始化代码,代码目录结构如下: # django-admin startproject...', 'PAGE_SIZE': 10, ... } PAGE_SIZE全局设置了默认的分页属性:单页数据量 DEFAULT_PAGINATION_CLASS设置为None时,则关闭了所有列表接口的后台分页功能...,我们这里提供了自定义分页类component.drf.pagination.PageNumberPagination供大家参考。...我们在DRF提供的一个分页类的基础上,进行了简单的改造,内容如下: from collections import OrderedDict from rest_framework...": 0 } DRF的接口一般会直接返回创建的数据或者数据列表,如图所示: [DRF接口返回一] [DRF接口返回二] 于是,结合开发规范对接口的要求,我们需要对DRF的返回格式进行统一处理 首先,我们简单看下

    3.7K60

    DRF分页

    DRF分页 REST framework提供了分页的支持,并允许在settings.py中进行全局配置,如下所示: REST_FRAMEWORK = { # 解析器 'DEFAULT_PARSER_CLASSES...} DRF的分页器提供了两种样式,PageNumberPagination和LimitOffsetPagination,下面来分别介绍。...我们也可通过自定义Pagination类,来实现自定义的分页行为,对于继承自LimitOffsetPagination的类,可以在类中定义的属性: default_limit 默认限制,默认值与PAGE_SIZE...我们也可通过自定义Pagination类,来实现自定义的分页行为,对于继承自PageNumberPagination的类,可以在类中定义的属性: page_size 每页数目 page_query_param...PageNum(PageNumberPagination): """分页器类""" page_size = 5 # 默认每页返回的条数 page_query_param =

    47610

    Django rest Framework入门 五 :认证、权限、限流、分页和过滤

    IP来区分不同的用户的,UserRateThrottle是对认证用户进行限流,通过id来区分不同的用户。...在应用路径(book)下创建一个filters.py文件 filters.py里面主要包含两部分,一是各种数据类型的处理方式,比如布尔类型、字符串、时间等等,二是为视图类编写过滤器类,下面的代码中为BookInfoModelViewSet...应用分页有如下几个步骤: 创建自定义的分页处理器 文件位置如下:demo.utils.custom_pagination.py from rest_framework.pagination import...page=2 page_size_query_param = 'page_size' # 前端指定每一页返回的数据的条数,如/books/bookinfos/ page_size =...': 100, # 每页返回的数据调数,可以在分页处理器类中覆盖 } 使用 查询第二页内容: GET /books/bookinfos/?

    9810

    从入门到精通Django REST Framework-(五)

    GenericAPIView 是 Django REST Framework (DRF) 中的一个基础视图类,它继承自 APIView,并添加了一些常用的功能,特别是与数据库模型交互的功能。...它是 DRF 中通用视图和视图集的基础,提供了查询、序列化、分页等常用操作的标准实现。本质上它是 DRF 中所有通用视图(如 ListAPIView、RetrieveAPIView 等)的基础。二....DRF 生态系统集成 - 与 DRF 的其他组件(如序列化器、权限等)无缝协作三....class BookView(GenericAPIView): serializer_class = BookSerializerget_serializer_class() 方法:允许根据不同情况返回不同的序列化器类...与 Mixin 类的关系GenericAPIView 本身不提供 CRUD 操作的实现,但 DRF 提供了一系列 Mixin 类,可以与 GenericAPIView 组合使用:ListModelMixin

    8010

    django分页器的用法_django分页查询

    前言 当后台返回的数据过多时,我们就要配置分页器,比如一页最多只能展示10条等等,drf中默认配置了3个分页面 PageNumberPagination:基础分页器,性能略差 LimitOffsetPagination...首先我们在app中创建一个pagination.py文件,然后自定义一个分页器类,继承自PageNumberPagination: from rest_framework.pagination import...page=2&page_size=5,代表访问第二页的数据,用户自定义返回的条数为5条 LimitOffsetPagination 首先我们自定义一个分页器类,继承自LimitOffsetPagination...,只是游标分页的针对下一页数据的url进行了加密 首先我们自定义一个分页器类,继承自CursorPagination: class MyCursorPagination(CursorPagination...): """ Cursor 光标分页 性能高,安全 """ page_size = 10 page_size_query_param = "page_size"

    1K20

    Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页和过滤

    modelserializer实现商品序列化 3.GenericView方式实现商品列表页和分页 4.viewsets和router实现商品列表页 5.各种View的分析 三、DRF的使用 1.DRF的...Request和Response类 2.DRF过滤器 过滤的使用 搜索的使用 排序的使用 胸怀是非常重要的,一个人有眼光没胸怀是很倒霉的。...5.各种View的分析 前面用到过不同的View来实现商品列表页,现在结合源码进一步分析。...三、DRF的使用 1.DRF的Request和Response类 DRF对Django的Request和Response类进行了进一步的封装,因此使用起来更方便。...搜索的使用 DRF的SearchFilter类基于Django-admin的搜索功能,支持简单的基于单个查询参数的搜索。

    5.3K20

    Vue+Django2.0 REST framework 打造前后端分离的生鲜电商项目(五)商品列表页

    在views_base中,我被 JsonResponse,HttpResponse这两个模块之间的有什么不同所引起好奇心,都是返回字符串,一个可以返回json,而另一个需要添加一些设置才能返回json。...: 首先,我们的UserProfile表继承的django/admin自动创建的用户表AbstractUser, 然后,我们在UserProfile表中用__str__返回的是name字段(昵称),而drf...分页 drf是自带分页功能的,只要在views中进行一下规则的配置,就可以直接调用使用: 1 from .serializer import GoodsSerializer 2 from rest_framework.views...不同之处: 它包括所有解析的内容,包括文件和非文件输入。 它支持解析HTTP方法以外的内容POST,这意味着你可以访问内容PUT和PATCH请求。...小结 我们通过viewsets和一个类,完成了商品列表页,分页,过滤,搜索,排序。

    4.8K61

    用django写接口(实战篇)

    》 《用django写接口(入门篇)》 《用django写接口(优化篇)》 正文 上一部分我们通过基本类重构了 view,那这部分我们继续深入了解下 DRF 的分页,多条件筛选以及 Token 权限认证...所以分页是很有必要的,分页可以全局设置,也可以不同的 view 设置不同的分页。...1.设置全局分页参数 我们可以在 project 下的 settings.py 文件中加入 REST_FRAMEWORK 字典,设置全局的分页参数 REST_FRAMEWORK = { # 配置全局分页类型和每页数量...10, } 2.不同 view 设置不同分页 我们也可以在不同的 view 下设置不同的分页参数,分页的类我们可以通过继承已有的 Pagination 或者 BasePagination 来写,然后通过...~ DRF 的基本内容到这边也基本结束了,希望你能有所收获。

    2.2K20
    领券