23 lines
822 B
Python
23 lines
822 B
Python
![]() |
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
|
||
|
}
|
||
|
})
|