DRF项目之自定义分页器

在项目中,我们多需要自定义分页器。

代码实现

from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response

class PageNum(PageNumberPagination):

    page_size = 5  # 后端指定每页显示数量
    page_size_query_param = 'pagesize'
    max_page_size = 10

    # 重写分页返回方法,按照指定的字段进行分页数据返回
    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方法,来实现自定义响应数据。

posted @ 2020-05-26 21:44  Tracydzf  阅读(278)  评论(0编辑  收藏  举报