常规分页
基本使用:
-page=PageNumberPagination实例化产生对象
-返回值=page.paginate_queryset(ret,request,self):ret是要分页的所有数据,
-再序列化,序列化该返回值
1
2
3
四个参数:
# 每页显示多少条
page.page_size=3
# 查询指定查询哪一页的key值
page.page_query_param=‘xxx‘
# 前端控制每页显示多少条的查询key值比如size=9,表示一页显示9条
page.page_size_query_param=‘size‘
# 控制每页最大显示多少,size如果传100,最多也是显示10
page.max_page_size=10
1
2
3
4
5
6
7
8
from rest_framework.pagination import PageNumberPagination
class PublishView(APIView):
    def get(self,request,*args,**kwargs):
        #查询出所有数据
        ret=models.Publish.objects.all()
        #实例化产生一个普通分页对象
        page=PageNumberPagination()
        #每页显示多少条
        page.page_size=3
        #查询指定查询哪一页的key值
        page.page_query_param=‘xxx‘
        #前端控制每页显示多少条的查询key值比如size=9,表示一页显示9条
        page.page_size_query_param=‘size‘
        #控制每页最大显示多少,size如果传100,最多也是显示10
        page.max_page_size=10
        ret_page=page.paginate_queryset(ret,request,self)
        #序列化
        pub_ser=serializer.PublishSerializers(ret_page,many=True)
        #去setting中配置每页显示多少条
        return Response(pub_ser.data)
--------------------- 
原文:https://www.cnblogs.com/hyhy904/p/11284654.html