10.DRF组件之分页

        Django Rest Framework提供了多种分页器,可以让我们方便地对查询结果进行分页。下面是一个最常使用DRF分页的示例:

在settings.py中设置全局分页:

'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 10,  # 每页数目

然后在使用ModelViewSet时,可以重写分页类,做到统一返回格式,方便前端调用:

class SelfPagination(PageNumberPagination):
    page_size = 10  # 每页展示的数目
    max_page_size = 10000  # 最多展示10000页
    page_query_param = 'page'  # 前端发送的页数关键字名,默认为"page"
    page_size_query_param = 'size'  # 前端发送的每页数目关键字名,默认为None
    #自定义分页结果返回数据
    def get_paginated_response(self, data):
        return Response(OrderedDict([
            ('total', self.page.paginator.count),
            ('next', self.get_next_link()),
            ('previous', self.get_previous_link()),
            ('rows&#

你可能感兴趣的:(django,python,后端)