Yuval是在正确的线条,但它看起来好像你想循环两遍绘画列表:一次显示名称(每行三个),一次为描述。这在模板语言中很难实现。
我会建议看看如果你可以做一些CSS的东西。应该可以为名称和/或说明div分配一个类,以便所有名称都浮在一起,并且描述显示为下面的块。尽管如此,仍然很棘手。
或者,您可以预先处理视图中的列表,以便将名称和描述分成三组。你想利用这种结构,结束了:
[
[name1, name2, name3],
[description1, description2, description3],
[name4, name5, name6],
[description4, description5, description6],
...
]
所以你可以尝试这样做:
painting_list = []
counter = 0
while counter < len(paintings):
painting_list.append([p.name for p in paintings[counter:counter+3])
painting_list.append([p.description for p in paintings[counter:counter+3])
counter += 3
,然后在您的模板:
{% for group in painting_list %}
<div class="names">{% for name in group.0 %}{{ name }} {% endfor %}</div>
<ul class="descriptions">
{% for description in group.1 %}
<li>{{ description }}</li>
{% endfor %}
</ul>
{% endfor %}
我觉得这似乎是最好的模板标签是这个功能去的最好的地方反对更尴尬的观点。很多列表,但我明白了:)有一些优雅的解决方案!谢谢 :) – Oni 2009-05-11 19:20:51