DRF框架PageNumberPagination類源碼解析

    def get_paginated_response(self, data):
        return Response(OrderedDict([
            ('count', self.page.paginator.count),
            ('next', self.get_next_link()),
            ('previous', self.get_previous_link()),
            ('results', data)
        ]))

如上的get_paginated_response方法定義了分頁器返回結果的形式。

如果需要自定義分頁器:

class PageNum(PageNumberPagination):
    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.max_page_size
        })

其中Response的參數要是不知道如何寫,可以打上斷點查看Variables。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章