Обнаружение каждой третьей петли в HTML Forloop - HTML - Django

У меня есть веб-сайт, и на одной странице есть повторяющаяся информация из цикла for, который сделан для печати. Проблема в том, что каждый элемент цикла for занимает около 10 строк текста. Когда я перехожу к печати, эти 10 строк текста иногда разрываются между страницами. Мне нужно, чтобы они оставались вместе, несмотря ни на что, и я пробовал "page-break-inside: avoid;", но не могу заставить его работать. Однако это не имеет значения, потому что мне нужно убедиться, что на каждой странице есть только три блока, потому что 4 уже превышают поля. Мой план состоит в том, чтобы просто перебирать блоки и обнаруживать каждый третий блок и добавлять дополнительные интервалы под ним, чтобы он переходил на следующую страницу.

Вопрос: Как мне обнаружить каждый третий цикл в моем html forloop?

Вы можете использовать некоторые шаблоны, уже предоставленные Django:

  • {{ forloop.counter }} индекс начинается с 1.
  • {{ forloop.counter0 }} индекс начинается с 0.

Вы можете использовать фильтр шаблонов divisibleby вместе с forloop.counter для обнаружения каждого третьего цикла

{% for post in filter.qs %}
    {% if forloop.counter|divisibleby:"3" %}
        Something every third loop
    {% endif %}
{% endfor
Вернуться на верх