django rest framework-分页配置

当要查询的数据列表视图会返回很多实例,所以我们想要给这些结果分页,
分页后允许API客户端访问每个单页。 我们可以用分页改变默认的列表风格,我们只要稍微修改setting.py文件,添加下面设置:

REST_FRAMEWORK = {
    # 分页
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',  # LimitOffsetPagination 分页风格
    'PAGE_SIZE': 3,  # 每页多少条记录
}

自定义分页
# 分页自定义
from rest_framework.pagination import PageNumberPagination
class ArticlePagination(PageNumberPagination):
    page_size = 4 # 表示每页的默认显示数量
    page_size_query_param = 'page_size' # 表示url中每页数量参数
    page_query_param = 'p' # 表示url中的页码参数
    max_page_size = 100  # 表示每页最大显示数量,做限制使用,避免突然大量的查询数据,数据库崩溃

class ArticleListleView(generics.ListCreateAPIView):

    queryset = Article.objects.all()  # 查询结果集
    serializer_class = ArticleSerializer # 序列化类
    pagination_class = ArticlePagination   # 自定义分页会覆盖settings全局配置的
效果如下:
image.png

其中更多参数设置,自行参阅相关资料。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚...
    riverstation阅读 6,362评论 0 8
  • 分页 REST framework 包含对可定制分页样式的支持。这使你可以将较大的结果集分成单独的数据页面。分页 ...
    入间阅读 5,118评论 0 2
  • 去年有段时间得空,就把谷歌GAE的API权威指南看了一遍,收获颇丰,特别是在自己几乎独立开发了公司的云数据中心之后...
    骑单车的勋爵阅读 21,018评论 0 41
  • 一、Django框架前言知识: 1、C/S和B/S的区别: C/S结构软件:客户端/服务端软件,即客户端要自己下载...
    月下独酌123阅读 10,389评论 0 36
  • 1, 序列化 Serialization 创建一个新环境 在做其他事之前,我们会用virtualenv创建一个新的...
    光着脚的鞋阅读 4,001评论 0 1

友情链接更多精彩内容