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

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

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

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

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

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

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

  1. var config = {
  2. type: 'pie',
  3. data: {
  4. datasets: [{
  5. data: ["{% for key, value in pie.items %}{{value}}{% endfor %}"],
  6. backgroundColor: [
  7. '#dc3912', '#ff9900', '#3366cc'
  8. ],
  9. label: ''
  10. }],
  11. labels: ["{% for key, value in pie.items %}{{key}}{% endfor %}"] <-- here
  12. },
  13. options: {
  14. responsive: true,
  15. plugins: {
  16. legend: {
  17. position: 'top',
  18. },
  19. title: {
  20. display: true,
  21. text: ''
  22. }
  23. }
  24. }
  25. };

这是目前的情况。

khbbv19g

khbbv19g1#

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

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

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

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

相关问题