在我看来,我将一个上下文传递给一个模板,该模板包含一个(x,y)坐标的二维列表:
_points = [[100, 100], [200, 200], [300, 200]]
context = {'points': _points}
return render(request, 'mytemplate.html', context)
在我的模板中,我想在每个点之间画一条线:
var c = document.getElementById("graph"); // "graph" is a canvas element
var ctx = c.getContext("2d");
ctx.beginPath();
// Move to the first point
ctx.moveTo({{ points[0][0] }}, {{ points[0][1] }});
// Loop through all points and draw connecting line
{% for point in points %}
ctx.lineTo({{ point[0] }}, {{ point[1] }});
{% endfor %}
ctx.stroke();
但是,我收到错误:
ctx.lineTo({{ point[0] }}, {{ point[1] }});
说Could not parse the remainder: '[0]' from 'point[0]'
。
从上下文索引列表变量的正确方法是什么?
答案 0 :(得分:3)
您可以就地解压缩此列表,如下所示:
{% for x, y in points %}
ctx.lineTo({{ x }}, {{ y }});
{% endfor %}
(参见Django documentation for for
)
如果你想把它们拿出来"手写",你应该能够写{{ point.0 }}
- 尽管我同意单一索引不起作用的说法很奇怪正确。