一、全局配置
在seething.py处设置配置项
第一种,limit分页
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': 100
}
您需要同时设置 DEFAULT_PAGINATION_CLASS 和 PAGE_SIZE ,它们的默认值都为None,表示不使用分页。 还可以使用pagination_class属性在单个视图上设置分页类
第二种,pagenumber分页
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 100
}
二、类属性配置
新增类:
from rest_framework.pagination import PageNumberPagination
class LargeResultsSetPagination(PageNumberPagination):
page_size = 1000 # 页面数据量
page_size_query_param = 'page_size' # 分页值
max_page_size = 10000 # 最大页面数据量
在views.py处添加
pagination_class = LargeResultsSetPagination
配置内容:
django_paginator_class - django框架分页类。默认使用 django.core.paginator.Paginator 。 page_size - 表示一页数据条数的数值。如果设置会覆盖设置中的 PAGE_SIZE 。 page_query_param - 一个字符串参数名,表示查询的页码,默认是 page 。 page_size_query_param - 一个字符串参数名,表示查询的每页数据数量。默认为 None 表示不能过客户端控 制每页数据量。 max_page_size - 每页的最大数据量,和 page_size_query_param 配合使用。