Как объявить переменную и увеличить ее в Django шаблонах - PullRequest
1 голос
/ 18 февраля 2020

Как инициализировать числовую переменную в Django шаблонах.

{% with i=1 %}
    {% for cont in data %}

    {% if i|divisibleby:3 %}
         {{ forloop.i }}
    <!-- HTML -->

    {% elif i|divisibleby:2 %}
         {{ forloop.i }}
    <!-- HTML -->

    {% else %}
         {{ forloop.i }}
    <!-- HTML -->

    {% endif %}
   {% endfor %}

Получение этой ошибки из-за {% при i = 1%}

TemplateSyntaxError at /tools-dash/

Unclosed tag on line 21: 'with'. Looking for one of: endwith.

Переменная i не увеличивается на каждый {{forl oop .i}} , Для каждой строки в БД я получаю один и тот же шаблон в другой части. Как это можно изменить на альтернативные.

1 Ответ

2 голосов
/ 18 февраля 2020

Нет необходимости создавать новую переменную. Вы можете использовать свое нормальное значение для l oop и проверить, делится ли forloop.counter на 3 или 2. Вот так:

{% for cont in data %}

    {% if forloop.counter|divisibleby:3 %}
        {{ forloop.counter }}
        <!-- HTML -->

    {% elif forloop.counter|divisibleby:2 %}
        {{ forloop.counter }}
        <!-- HTML -->

    {% else %}
        {{ forloop.counter }}
        <!-- HTML -->

    {% endif %}

{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...