2011-05-14 132 views
3

我的模型:Django的 - 對列表進行排序成3列的模板

Item: 
    name 
    desc 
    order 
    created_at 

而且我得到了項目的列表從項目這樣的:

items = Item.objects.all().order_by('order', '-created_at') 

現在我把這個名單成模板。但我必須按照一種模式來排序。對於例子:

<ul> 
    <li>item 1</li> 
    <li>item 2</li> 
    <li>item 3</li> 
</ul> 
<ul> 
    <li>item 4</li> 
    <li>item 5</li> 
    <li>item 6</li> 
</ul> 
<ul> 
    <li>item 7</li> 
</ul> 

和更少的物品:

<ul> 
    <li>item 1</li> 
    <li>item 2</li> 
</ul> 
<ul> 
    <li>item 3</li> 
    <li>item 4</li> 
</ul> 
<ul> 
    <li>item 5</li> 
</ul> 

或縮短:

<ul> 
    <li>item 1</li> 
</ul> 
<ul> 
    <li>item 2</li> 
</ul> 
<ul> 
    <li>item 3</li> 
</ul> 

任何想法?感謝幫助!

UPDATE:加思考

<ul> 
    <li>item 1</li> 
    <li>item 2</li> 
</ul> 
<ul> 
    <li>item 3</li> 
</ul> 
<ul> 
    <li></li> 
</ul> 

<ul> 
    <li>item 1</li> 
    <li>item 2</li> 
    <li>item 3</li> 
</ul> 
<ul> 
    <li>item 4</li> 
</ul> 
<ul> 
    <li>item 5</li> 
</ul> 

<ul> 
    <li>item 1</li> 
    <li>item 2</li> 
    <li>item 3</li> 
    <li>item 4</li> 
</ul> 
<ul> 
    <li>item 5</li> 
    <li>item 6</li> 
</ul> 
<ul> 
    <li>item 7</li> 
</ul> 

回答

0

我完全不明白,就是確定分組的標準 - 是它的字面只是騎自行車3?如果是這樣,我認爲週期模板標籤是你在找什麼:

http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#cycle

+0

權是始終小於或等於左邊。我要添加一些思考。 – anhtran 2011-05-14 18:28:49

+0

我很抱歉,我仍然不明白潛在的願望 - 你能解釋這些物品是如何分發的嗎? – jMyles 2011-05-14 20:28:52

2

昨天我做到了。

{% for link in footer_links %} 
    {% if forloop.first or forloop.counter0|divisibleby:"6" %} 
    <ul> 
    {% endif %} 
     <li><a href='{{ link.href }}'>{{ link.title }}</a></li> 
    {% if forloop.last or forloop.counter|divisibleby:"6" %} 
    </ul> 
    {% endif %} 
{% endfor %} 

它並不完全做三列,但它拆分成鏈接一定長度的名單(6)