2015-03-13 4 views
0

У меня есть страница с объектами в приложении django. Я показываю его, используя цикл for. Я хочу сделать что-то подобное, если цикл находится в 5 циклах, я хочу появиться на новой странице. Мне нужно это для создания pdf-файла.Специальный счетчик для цикла в django

{% for skill in person.skills.all %} 
    {% if forloop.counter == 5 %} 
     <div style="page-break-after:always"></div> 
    {% endif %} 
{% endfor %} 

Но в документации, которую я нашел что-то вроде этого:

forloop.counter 
forloop.counter0 
forloop.revcounter 
forloop.revcounter0 
forloop.first 
forloop.last 

forloop.parentloop Для вложенных циклов, это петля, окружающая текущий один

+2

В чем проблема? – Selcuk

+0

@Selcuk Я бы хотел, чтобы на каждой странице отображалось всего 5 текстов (объектов). – mark

ответ

1

Вы можете использовать фильтр divisibleby:

{% for skill in person.skills.all %} 
    {% if forloop.counter|divisibleby:"5" %} 
     <div style="page-break-after:always"></div> 
    {% endif %} 
{% endfor %} 

Это добавит разрыв страницы в каждой строке, которая является divisibl e на 5 (т.е. 5, 10, 15 и т. Д.).

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