分页器

常规分页
基本使用:

-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