django - 将 django view python dict 获取到 highcharts 系列数据中

标签 django dictionary highcharts

我正在尝试找出最简洁的方法来获取 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/

相关文章:

jquery - 如何突出显示 highstock 中的某个范围?

javascript - Highcharts Gauge 错放的标签

UserProfile 的 Django 表单问题

django - 如何使用带参数的嵌套模板标签?

jquery - 创建类似于皮尤研究网站的图表

c# - 将字典绑定(bind)到中继器

json - 如何将嵌套类转换为 json 或 dict?

Django项目吃内存

python - xhtml2pdf Pisa css 损坏无功能

Python:如何将嵌套列表的字典导出到 Excel