目录
1-2 自定义传统分页类 - 重写 PageNumberPagination内属性
一、简单分页 - 查看第n页,每页显示m条
注意:
- 必须配置每页显示条数:page.page_size
- page.page_query_param:配置get提交数据名
- 序列化需传入分页后数据对象
- return page.get_paginated_response(ser.data) - 返回数据带着上下链接和数据总条数
1-1 基本使用
# DRF 传统分页 from rest_framework.pagination import PageNumberPagination from rest_framework.views import APIView from rest_framework.response import Response from app01 import MySerializers # DRF 基本使用 - 默认配置 # http://127.0.0.1:8000/index/?page=2&size=3,size无效 class Index(APIView): def get(self, request, *arges, **kwargs): book_list = models.Book.objects.all() page = PageNumberPagination() # 每页显示条数 page.page_size = 2 # http://127.0.0.1:8000/index/?test=2 # page_query_param修改get提交数据名 page.page_query_param='test' # 参数:分页对象,request对象,当前视图对象 page_list = page.paginate_queryset(book_list, request, view=self) ser = MySerializers.BookSerializers(instance=page_list, many=True) return Response(ser.data) # return page.get_paginated_response(ser.data) # return render(request, 'drf_index.html', locals())