遍历模板中的非查询集字典
Iterate through non-queryset dictionary in a template
我有一本字典,我正在将其输入 chart.js 折线图。
看起来如下:
context['graph_data'] = {'day': [datetime.date(2022, 2, 28),
datetime.date(2022, 3, 1),
datetime.date(2022, 3, 2),
datetime.date(2022, 3, 3),
datetime.date(2022, 3, 4),
datetime.date(2022, 3, 5),
datetime.date(2022, 3, 6),
datetime.date(2022, 3, 7),
datetime.date(2022, 3, 8),
datetime.date(2022, 3, 9),
datetime.date(2022, 3, 10),
datetime.date(2022, 3, 11),
datetime.date(2022, 3, 12),
datetime.date(2022, 3, 13),
datetime.date(2022, 3, 14),
datetime.date(2022, 3, 15),
datetime.date(2022, 3, 16),
datetime.date(2022, 3, 17),
datetime.date(2022, 3, 18),
datetime.date(2022, 3, 19)],
'response_totals': [0,
0,
0,
0,
12,
12,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0]}
我被绊倒的模板部分如下所示:
new Chart(ctx1, {
type: "line",
data: {
labels: [{%for i in graph_data%}{{i.day}},{%endfor%}],
datasets: [{
label: "Referrals",
tension: 0.4,
borderWidth: 0,
pointRadius: 2,
pointBackgroundColor: "#cb0c9f",
borderColor: "#cb0c9f",
borderWidth: 3,
backgroundColor: gradientStroke1,
data: [{%for j in graph_data%}{{j.response_totals}},{%endfor%}],
maxBarThickness: 6
},
我有点新手。我可以处理查询集,但我不确定如何通过模板转换非 qs 词典。
您有几种写法,请先阅读 the documentation for django template language。
希望您了解要将天数列表存储为 python 中 day
键的值,您需要执行类似 context['graph_data']['day']
.
的操作
在模板中,我们使用 .
来访问字典键,因此我们可以在模板中使用 graph_data.day
来获得与 context['graph_data']['day']
将在 python.
所以我会这样做:
new Chart(ctx1, {
...
data: {
labels:[{% for i in graph_data.day %}{{ i }},{% endfor %}],
...
}
}
我有一本字典,我正在将其输入 chart.js 折线图。
看起来如下:
context['graph_data'] = {'day': [datetime.date(2022, 2, 28),
datetime.date(2022, 3, 1),
datetime.date(2022, 3, 2),
datetime.date(2022, 3, 3),
datetime.date(2022, 3, 4),
datetime.date(2022, 3, 5),
datetime.date(2022, 3, 6),
datetime.date(2022, 3, 7),
datetime.date(2022, 3, 8),
datetime.date(2022, 3, 9),
datetime.date(2022, 3, 10),
datetime.date(2022, 3, 11),
datetime.date(2022, 3, 12),
datetime.date(2022, 3, 13),
datetime.date(2022, 3, 14),
datetime.date(2022, 3, 15),
datetime.date(2022, 3, 16),
datetime.date(2022, 3, 17),
datetime.date(2022, 3, 18),
datetime.date(2022, 3, 19)],
'response_totals': [0,
0,
0,
0,
12,
12,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0]}
我被绊倒的模板部分如下所示:
new Chart(ctx1, {
type: "line",
data: {
labels: [{%for i in graph_data%}{{i.day}},{%endfor%}],
datasets: [{
label: "Referrals",
tension: 0.4,
borderWidth: 0,
pointRadius: 2,
pointBackgroundColor: "#cb0c9f",
borderColor: "#cb0c9f",
borderWidth: 3,
backgroundColor: gradientStroke1,
data: [{%for j in graph_data%}{{j.response_totals}},{%endfor%}],
maxBarThickness: 6
},
我有点新手。我可以处理查询集,但我不确定如何通过模板转换非 qs 词典。
您有几种写法,请先阅读 the documentation for django template language。
希望您了解要将天数列表存储为 python 中 day
键的值,您需要执行类似 context['graph_data']['day']
.
在模板中,我们使用 .
来访问字典键,因此我们可以在模板中使用 graph_data.day
来获得与 context['graph_data']['day']
将在 python.
所以我会这样做:
new Chart(ctx1, {
...
data: {
labels:[{% for i in graph_data.day %}{{ i }},{% endfor %}],
...
}
}