对于使用chartjs的投票项目。在图表中,将有多个与poll选项相同的行。例如 -
你是程序员吗?
是
没有
然后图表会为No
和view
投票记录生成2行。
在dictionary
中,我创建了一个二维dictionary
来存储投票选项。
但我面临将二维chartjs
数据呈现给模板的问题。在我为datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
],
borderColor: [
'rgba(255,99,132,1)',
],
borderWidth: 1
}]
编码的模板文件中。可以选择为以下代码设置数据 -
dictionary
上面的代码生成单行,但我需要让它成为多行的动态。
这是我的二维{8: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0}, 7: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 1, 12: 0}}
数据集 -
{% for key, value in vote_records.items %}
{% list = [] %}
{% for single_key, single_value in value.items %}
{% list.append(single_value) %}
{% endfor %}
{
label: '# for Vote',
data: {{ list }},
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
],
borderColor: [
'rgba(255,99,132,1)',
],
borderWidth: 1
},
{% endfor %}
我正在尝试使用以下代码创建数据集 -
{{1}}
但这不是模板中的正确方法。我怎样才能做到这一点?感谢。
答案 0 :(得分:1)
您无法在模板中执行列表操作。目前还不是很清楚你想做什么,但看起来你只需要将每个内部字典的值传递给你的JS函数。
{% for key, value in vote_records.items %}
{
label: '# for Vote',
data: {{ value.values }},
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
],
borderColor: [
'rgba(255,99,132,1)',
],
borderWidth: 1
},
{% endfor %}