2016-11-23 32 views
2

我正在尝试使用Django模板来循环一组记录,但停下来一小段,然后以不同的方式处理最后一条记录。所以我们可以说我有50条记录 - 我想循环1到49,然后停止,然后在循环外面处理第50条记录。我想创建如何使用Django控制循环

[[date, var2],[date, var2],..[date, var2]*]; 

我使用:

data.addRows([ 
     {% for data in mydata %} 
     [{{data.date}},{{data.var2}}], 
     {% endfor %} 
    ]); 

我的目标是不包含逗号(由*表示),但保持必要的形式。任何帮助,将不胜感激。谢谢。

回答

1

您正在寻找的是forloop.last,它可以完全在循环内完成这项任务。

data.addRows([ 
     {% for data in mydata %} 
     {% if forloop.last %} 
      [{{data.date}},{{data.var2}}] 
     {% else %} 
      [{{data.date}},{{data.var2}}], 
     {% endif %} 
     {% endfor %} 
    ]); 

还有一个替代方案中,过滤器last它返回一个列表上的最后一个项目,但上述方法是这样做的更常规的方式。

+0

谢谢,e4c5,这正是我所需要的。 – beliskna

+0

很高兴得到了帮助 – e4c5