在项目中,我们多需要自定义分页器。
代码实现:
class PageNum(PageNumberPagination):
'''自定义分页器'''
# 每页显示个数
page_size = 10
page_size_query_param = 'pagesize'
# 每页最多显示个数
max_page_size = 20
# 重写get_paginated_response方法,实现自定义返回值
def get_paginated_response(self, data):
return Response({
"count": self.page.paginator.count,
"lists": data,
"page": self.page.number,
"pages": self.page.paginator.num_pages,
"pagesize": self.page_size
})
而且,在分页器中,我们可以通过重写get_paginated_response方法,来实现自定义响应数据。