【Django】分页Pagination | DRF的分页

Django自带的Pagination个人觉得就挺好用的,可以直接参考官网文档,Pagination,个人觉得非常清晰明了了

至于DRF的分页,好像需要遵循它的一些规则才能用,我就没用。但查找中的学习材料记录一下:
Django-drf-内置分页器的使用:其中Ⅴ 继承APIView的分页方式比较适用于我
DRF的分页
如果用DRF的方法,又想获取到Django自带的Pagination实例中的一些参数,假设DRF PageNumberPagination的实例时p_obj,p_obj.page.paginator就是Pagination实例,后面再跟Pagination(django官方文档Paginator)的特有参数即可

DRF的pagination + serializer联合使用

from rest_framework.pagination import PageNumberPagination

# 自定义了一个类,可以让前端传入page_size,不同写死一页有多少数据
class BasePageNumberPagination(PageNumberPagination)
	def __init__(self, page_size):
		self.page_size = page_size

# View中调用代码
p_obj = BasePageNumberPagination(page_size)
# request除page_size参数外还需定义一个page参数,表明当前数据是第几页
obj_list = p_obj.paginate_queryset(obj_list, request, self)	
ser = ObjSerializer(obj_list, many=True)
# 给前端返回ser.data

猜你喜欢

转载自blog.csdn.net/qq_42438771/article/details/119755078
今日推荐