Django - sort a list by 3 columns on templates

My models:

Item:
    name
    desc
    order
    created_at

And I got a list of elements from the Element , for example:

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

Now I am sending this list to templates. But I have to sort it by template. Examples:

<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>

And with fewer elements:

<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>

or reduction:

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

Any idea? Thanks for the help!

UPDATE: add reflections

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

or

<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>

or

<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>
+3
source share
3 answers
+2
source

I did it yesterday.

{% 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 %}

it does not execute three columns, but breaks links to lists of a certain length (6)

+2
source

All Articles