在项目中,我们多需要自定义分页器。
代码实现:
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方法,来实现自定义响应数据。