使用 Django 时如何从我的 json.dumps 文件(用于显示在我的 javascript 图表中)恢复整数
How to restore integers from my json.dumps file (for display in my javascript chart) when using Django
在我的 Django 应用程序中,我有一个非常基本的饼图模型,其中名称列作为 CharField,统计数据列作为 IntegerField。我的 html 页面上也有一些显示饼图的 JavaScript 代码——但只有当我将值硬编码为数组时,我才能让它工作。我希望以饼图形式将来自我的模型/数据库的数据显示为 {{ values|safe }}
,从我的数据库数据的 json 转储中提取值。
这是我尝试过的,如我的 views.py 文件所示:
def metrics(request):
pietitle = serializers.serialize('json', PieChart.objects.all(),fields=('title'))
piestats = serializers.serialize('json', PieChart.objects.all(),fields=('stats'))
piedata=[[pietitle, piestats]]
json_data = json.dumps(piedata)
data_json= json.loads(json_data)
return render(request, "metrics.html", {"values": data_json})
在我的 HTML 页面上,我收到的消息只是“无数据”,我相当确定这是因为当我序列化统计字段时,它被转换为字符串并且无法被解释为整数。
确保饼图的数据格式正确。
使用此行 piedata=[[pietitle, piestats]]
,如果您想访问第一个标题,则必须访问 data_json[0][0][0]
,对于第一批统计数据,您必须访问 data_json[0][1][0]
根据评论编辑答案:
piedata = []
for i in range(len(pietitle)):
piedata.append([pietitle[i], piestats[I]])
在我的 Django 应用程序中,我有一个非常基本的饼图模型,其中名称列作为 CharField,统计数据列作为 IntegerField。我的 html 页面上也有一些显示饼图的 JavaScript 代码——但只有当我将值硬编码为数组时,我才能让它工作。我希望以饼图形式将来自我的模型/数据库的数据显示为 {{ values|safe }}
,从我的数据库数据的 json 转储中提取值。
这是我尝试过的,如我的 views.py 文件所示:
def metrics(request):
pietitle = serializers.serialize('json', PieChart.objects.all(),fields=('title'))
piestats = serializers.serialize('json', PieChart.objects.all(),fields=('stats'))
piedata=[[pietitle, piestats]]
json_data = json.dumps(piedata)
data_json= json.loads(json_data)
return render(request, "metrics.html", {"values": data_json})
在我的 HTML 页面上,我收到的消息只是“无数据”,我相当确定这是因为当我序列化统计字段时,它被转换为字符串并且无法被解释为整数。
确保饼图的数据格式正确。
使用此行 piedata=[[pietitle, piestats]]
,如果您想访问第一个标题,则必须访问 data_json[0][0][0]
,对于第一批统计数据,您必须访问 data_json[0][1][0]
根据评论编辑答案:
piedata = []
for i in range(len(pietitle)):
piedata.append([pietitle[i], piestats[I]])