双循环与Django模板

时间:2017-01-11 21:07:27

标签: django python-2.7 django-templates

所以我将此矩阵发送到视图

[[6.197, 6.156, 6.165, 6.164, 4.741], [6.191, 6.106, 6.175, 6.132, 4.741], [6.158, 6.137, 6.137, 6.133, 4.741]]

以及包含日期的列表

["11-12-2016","12-12-2016","13-12-2016"]

我想用Template格式化它们,看起来像这样

 [["11-12-2016",6.197, 6.156, 6.165, 6.164, 4.741]
  ["12-12-2016",6.191, 6.106, 6.175, 6.132, 4.741]
....]

我使用此代码:

 {% for date in dates %}

        {% with forloop.counter0 as i %}

      ,["{{date}}"{% for item in selling.i %} ,{{item}} {% endfor %}]
         {% endwith %}
      {% endfor %}

并且它不起作用,但当我用0,1替换i时,第二个循环在一个列表上正常工作

1 个答案:

答案 0 :(得分:0)

{% for item in selling.i %}

这不起作用 - 模板将查找字面上等于" i"的属性或索引,而不是该变量的值。

Django模板语言主动阻止在模板中使用过多的逻辑,这是你不能做的事情的一个例子。

因此,在Python中根据需要创建列表,并将它们传递给模板。例如。在Python中

combined = [[str(date)] + sell for date, sell in zip(dates, selling)]

在模板中

{% for row in combined %}
  [{{ row|join:","|safe }}],
{% endfor %}