我是靠谱客的博主 秀丽歌曲,最近开发中收集的这篇文章主要介绍Django分页普通列表并将Page类型转为json返回,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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返回所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部