DRF分页

DRF分页

PageNumberPagination

前端访问网址形式:

GET  http://api.example.org/books/?page=4

可以在子类中定义的属性:

  • page_size 每页数目
  • page_query_param 前端发送的页数关键字名,默认为"page"
  • page_size_query_param 前端发送的每页数目关键字名,默认为None
  • max_page_size 前端最多能设置的每页数量
from rest_framework.pagination import PageNumberPagination

class PageNum(PageNumberPagination):
    # 查询字符串中代表每页返回数据数量的参数名,默认值:None
    page_size_query_param = "page_size"
    # 查询字符串中代表页码的参数名,有默认值:page
    page_query_param = 'p'
    # 一页中最多的结果条数
    # max_page_size = 2

# 示例
def get(self, request):
        class_obj = Classroom.objects.all()
        paginator = PageNum()

        result_page = paginator.paginate_queryset(class_obj, request)
        ser_obj = ClassroomSerializers(result_page, many=True)
        return Response(ser_obj.data)
posted @ 2020-10-28 20:31  刘先生很温柔  阅读(148)  评论(0编辑  收藏  举报