我正在尝试找出最简洁的方法来获取 django View 中的 python 字典,并将其放入 highcharts 中的饼图系列中。具体来说,当我单击页面上一个图表中的某个点时,我尝试加载包含该点详细数据的第二个图表。
例如,我可能有一个包含“水果”、“肉类”、“蔬菜”库存的柱形图。如果我单击某列,第二个图表将显示库存明细。又名第二个“水果”图表将在饼图中显示“苹果”、“橙子”、“香蕉”的库存。
我尝试使用 jQuery.get 来执行此操作,因为我不想重新加载整个页面。我的 django View 将有一个用于处理 ajax 的部分,如下所示:
myData = {}
myData['apples'] = 20
myData['oranges'] = 30
myData['bananas'] = 50
context = Context()
context['fruit'] = myData
return HttpResponse(context)
我想用于饼图的数据格式将 dict 键作为 x,将 dict 值作为 y:
[['apples',20],['oranges',30]…]
我尝试过将数据作为字符串从 View 传递到脚本,虽然它作为字符串正确地通过线路,但没有按照我想要的方式处理,因为我认为值 20、30 等已被处理作为字符串而不是值。我不确定这是否是正确的方法。 我应该通过在 django 模板中渲染上下文来做到这一点吗?如果是这样,类似的东西在 jQuery/ajax 成功处理程序中会是什么样子?
似乎从字典到具有上述格式的 highcharts 系列(字典键作为 x,字典值作为 y)将是很多人已经做过的事情,所以我认为我错过了一些东西。
最佳答案
试试这个:
import json
from django.http import HttpResponse
myData = {}
myData['apples'] = 20
myData['oranges'] = 30
myData['bananas'] = 50
response_data = {
'data': myData,
'message': 'OK',
'status': 'success'
}
return HttpResponse(json.dumps(response_data), content_type="application/json")
关于django - 将 django view python dict 获取到 highcharts 系列数据中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17096888/