python - 如何从 Paginator 的页面返回 JsonResponse?Page 类型的对象不是 JSON 可序列化的
问题描述
(这是我的第一个 stackoverflow 问题)
我想从字典“上下文”(似乎是一个分页器页面)中返回 JsonResponse,如下所示:
myposts = userposts.all().values()
myfollowers = userfollowers.ffollowers.all()
myfollowings = userfollowers.ffollowings.all()
context = {"posts": page_obj,
"loops": range(1, totalpages + 1),
"user": uprofile.username,
"myposts": list(myposts),
"mypostsnum": len(userposts.all()),
"myfollowers": list(myfollowers),
"myfollowersnum": len(userfollowers.ffollowers.all()),
"myfollowings": list(myfollowings),
"myfollowingsnum": len(userfollowers.ffollowings.all())
}
这是我使用的回报:
return JsonResponse(context, safe=False)
结果我得到:
Object of type Page is not JSON serializable
我的问题是如何从“上下文”中获取 JsonResponse?
解决方案
问题出在"posts": page_obj
. page_obj
是模型的一个实例。喜欢page_obj = Post.objects.get(pk=1)
。
JsonResponse
将调用json.dumps()
您的上下文并失败,因为它不知道如何处理对象。
我建议您为此使用Django 休息框架。序列化程序仅用于此问题。
推荐阅读
- html - 为什么 Chrome 会认为我的表单是信用卡表单?
- swiftui - 在 SwiftUI 中正确组合 TabView 与 PageTabViewStyle、NavigationView 和 ScrollView
- json - Flutter http 获取json数据
- java - 没有注册的 Eureka 客户端实例。(JAVA11,Maven)
- java - Drools:如何在非表达式中实现和( && )条件?
- python - 在 py-rewrite 中创建城市字典命令?
- android - 如何在 JNI NDK Android 中正确简单地使用回调
- firebase - 我们可以将 Sentry 与 NoGMS 一起使用吗
- java - 从 API 下载 JSON 文件并将其转换为文本
- jmeter - 需要根据jmeter中的条件提取所有数据