2014-09-06 4 views
0

У меня есть следующий HTML структуру:Django шаблон пропуска строки каждые две итерации

<div class="row> 
    <div class="box"></div> 
    <div class="box"></div> 
</div> 

Я использую функцию постраничной на Django, чтобы передать 6 на каждой странице.

Как я могу выполнить итерацию по списку объектов, сгенерированных объектами, в то время как обертка каждого из двух div div разделена на строку div?

ответ

3

Вы можете использовать forloop.counter в шаблоне

{% for obj in obj_list %} 
    {% if forloop.counter0|divisibleby:2 %} 
    <div class="row"> 
    {% endif %} 
     <div class="box"></div> 
     <div class="box"></div> 
    {% if forloop.counter|divisibleby:2 %} 
    </div> 
    {% endif %} 

{% else %} 
    Nothing to show 
{% endfor %} 

и если есть нечетное число элементов в списке, то он не будет иметь косую div. Я дам вам понять этот сценарий самостоятельно. (Это довольно просто)

Документация для forloop.counter0 can be found here документации для divisibleby can be found here

+0

Привет Спасибо большое за решение !! Вы, наконец, положили конец моим страданиям. Кстати, ваше решение не сработало сначала, но все, что мне нужно было сделать, это обратить вспять состояние 2-го, если бы оно прочитало {% if not forloop.counter | divisibleby: 2%} – Dan

+0

Ah. Сожалею. Я хотел использовать вариант 'counter0'. И ваше решение - это еще один способ сделать это – karthikr

Смежные вопросы