自定义分页类
#
from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response
class MyPagination(PageNumberPagination):
page_size = 10 # 每页显示 数据条数
page_query_param = 'page' # pollutant/?page=1 查询第一页的数据
page_size_query_param = 'size' # pollutant/?page=1&size=6 每页显示6个数据, 查询第一页数据
# max_page_size = 20
def get_paginated_response(self, data):
return Response({
'links': {
'previous': self.get_previous_link(),
'next': self.get_next_link()
},
'data_count': self.page.paginator.count,
'page_count': self.page.paginator.num_pages,
'page_size': self.page.paginator.per_page,
'page_index': self.page.number,
# 'page_of_nums': '/'.join(self.page.__str__().strip('>').split(' ')[1::2]), # 1/8
'data': data
})