Django. Не выводить текст после последнего элемента списка
Очень часто требуется вывести список, например, через запятую, но при этом после последнего элемента не выводить эту самую запятую.
Из приведенных листингов необходимо удалить символ “_“!
Например, при lst = [1, 2, 3]
код
{_% for x in lst %}
{_{ x }},
{_% endfor %}
выведет на экран текст 1, 2, 3,
.
Чтобы избавиться от последней запятой можно воспользоваться служебной переменной forloop.last
. Эта переменная принимает значение True
, если текущий шаг цикла является последним и False
в противном случае.
Пример выше можно переписать так.
{_% for x in lst %}
{_{ x }}{_% if not forloop.last %}, {_% else %}.{_% endif %}
{_% endfor %}
Тогда вывод будет другим: 1, 2, 3.
.
Для проверки первого шага цикла можно воспользоваться переменной forloop.first
.
Более подробно с вопросом можно ознакомиться в документации.