from rest_framework.pagination import PageNumberPagination from rest_framework.response import Response class CustomPagination(PageNumberPagination): """自定义分页器,返回格式为 {code, message, data}""" page_size = 10 page_size_query_param = 'page_size' max_page_size = 100 def get_paginated_response(self, data): return Response({ "code": 200, "message": "获取数据成功", "data": { "count": self.page.paginator.count, "next": self.get_next_link(), "previous": self.get_previous_link(), "results": data, "page": self.page.number, "pages": self.page.paginator.num_pages, "page_size": self.page_size } })