概述
Django中用于分页的方法Paginator可以分页普通列表和查询结果集,但当我们不结合Django前端,只想要返回json格式的结果时,需要进行序列化,查询结果集的序列化方式和普通列表分页的序列化方式不同,具体如下。
(1)查询结果集序列化(没有亲自尝试)
json_data = serializers.serialize("json", queryset, ensure_ascii=False)
其中queryset为分页后的查询结果集,ensure_ascii是为了防止中文乱码
(2)列表分页序列化
列表分页方式与查询结果集分页方式相同,序列化方式不同。完整代码如下:
def Pagenavigator(self, queryset, per_num, pIndex=1):
"""
分页方法
:param queryset: 需要分页的查询集数据
:param per_num: 每页显示几条数据
:param pIndex: 当前页面
:return:
"""
# 执行分页处理
# 处理页码数据类型
pIndex = int(pIndex)
# 创建分页对象,设置每页显示几条数据
p = Paginator(queryset, per_num)
# 获取最大页数
maxpages = p.num_pages
# 判断当前页是否越界
if pIndex > maxpages:
pIndex = maxpages
if pIndex < 1:
pIndex = 1
# 获取当前页数据
context = p.page(pIndex)
return context
# datalist为需要分页的列表,page_num为每页显示数量,pindex为第几页
datalist1 = Pagenavigator(datalist,page_num,pindex)
# 直接将分页后得到的Page类型的参数转化为list列表,并以json字符串格式编辑,再转化为json格式即可,此处列表中数据必须为json格式才能解析成功
items
= json.loads(json.dumps(list(datalist1)))
最后
以上就是秀丽歌曲为你收集整理的Django分页普通列表并将Page类型转为json返回的全部内容,希望文章能够帮你解决Django分页普通列表并将Page类型转为json返回所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复