range цикл в шаблоне Django

6 ноября 2013 г. 22:00

Бывают случаи, когда нужно в шаблоне пройтись циклом не по объектам, а по диапазону значений. Но шаблонный движок Django этого не позволяет. Также нет специального фильтра в стандартном наборе фильтров Django, но можно легко написать свой. Например так: в файле my_app/templatetags/my_filters.py пишем:

@register.filter
def create_range(value, start_index=0):
    return range(start_index, value+start_index)

И теперь в шаблоне уже можно использовать созданный фильтр:

{% load my_filters %}
{% for i in 10|create_range %}
...
{% endfor %}

Если нам нужно возвращать i, начиная с единицы, то используем в шаблоне так:

{% load my_filters %}
{% for i in 10|create_range:1 %}
...
{% endfor %}

Оцените статью

5 из 5 (всего 1 оценка)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Права на использование материала, расположенного на этой странице https://vivazzi.pro/it/range-django/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="https://vivazzi.pro/it/range-django/">https://vivazzi.pro/it/range-django/</a>

Подробнее: Правила использования сайта

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь.

Но зарегистрировавшись, вы сможете:

  • получать оповещения об ответах
  • просматривать свои комментарии
  • иметь возможность использовать все функции разработанных сервисов

Для комментрирования от своего имени, войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте