2010-10-21 101 views
12

我是django的新手,无法找到让django模板工作的方法。这样做是为了检查是否以前项目的第一个字母是与当前的那些平等的,就像这样:访问django模板中的前一个数组元素循环

{% for item in items %} 
    {% ifequal item.name[0] previous_item.name[0] %} 
     {{ item.name[0] }} 
    {% endifequal %} 
    {{ item.name }}<br /> 
{% endforeach %} 

也许我想这样做的错误的方式,有人可以点我在正确的方向。

+0

我会发布一个无题迷你答案 - 如果你想要做一些“嵌套”的事情,然后丢弃.objects的东西,并使用。树 - 你必须安装django-mptt。几天前,我在写分层页面和类别时经历过这些,所以只是想知道;)干杯。 – kovshenin 2010-10-21 10:12:17

回答

35

使用{% ifchanged %}标记。

{% for item in items %} 
    {% ifchanged item.name.0 %} 
     {{ item.name.0 }} 
    {% endifchanged %} 
{% endfor %} 

还记得你必须总是使用点语法 - 括号是无效的模板语法。

+0

错字末尾 – kovshenin 2010-10-21 10:10:15

+0

@kovshenin谢谢,修复 – 2010-10-21 10:17:13

+0

非常感谢,这完成了这项工作! – ronalds 2010-10-21 10:37:31