ChartJS 在使用django制作饼图时出现的问题

k75qkfdt  于 2022-11-06  发布在  Chart.js
关注(0)|答案(1)|浏览(197)

我有一个Django后端正在发送这个命令:

{'New': 1, 'Pending': 0, 'Done': 0}

我必须用这个做一个饼图,所以我试着:

labels: ["{% for key, value in pie.items %}{{key}}{% endfor %}"]

并且输出是“NewPendingDone”而不是“新建、挂起、完成”
我的完整代码是:

var config = {
  type: 'pie',
  data: {
    datasets: [{
      data: ["{% for key, value in pie.items %}{{value}}{% endfor %}"],
      backgroundColor: [
        '#dc3912', '#ff9900', '#3366cc'
      ],
      label: ''
    }], 
    labels: ["{% for key, value in pie.items %}{{key}}{% endfor %}"] <-- here
  },
  options: {
    responsive: true,
    plugins: {
        legend: {
            position: 'top',
        },
        title: {
            display: true,
            text: ''
        }

    }
}
};

这是目前的情况。

khbbv19g

khbbv19g1#

要生成列表,您可以执行以下操作:
labels: [{% for key, value in pie.items %}"{{key}}",{% endfor %}]

输出:["Key1","Key2","Key3"]

data: [{% for key, value in pie.items %}{{value}},{% endfor %}]

输出:[1,0,0]
你没有逗号,并且在你的例子中,字符串封装了整个for循环。
这应该可以。
(Even虽然在html脚本标记中看起来有点奇怪)

相关问题