rest_framework全局分页器定义方法
1.在配置文件中添加
'DEFAULT_PAGINATION_CLASS': 'XXX.utils.pagination.StandardResultPagination',
冒号前面意思是默认分页器,后面是路径,最后一个是要调用的类名.
2.定义全局分页器
class StandardResultPagination(PageNumberPagination):
# 页容量
page_size = 5
# 指定获取分页数据传递的页容量参数的名称
page_size_query_param = 'pagesize'
# 最大页容量
max_page_size = 20
def get_paginated_response(self, data):
return Response(
{'counts': self.page.paginator.count,
'list': data,
'page': self.page.number,
'pages': self.page.paginator.num_pages,
'pagesize': self.get_page_size(self.request)
}
)