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)