У меня есть отзывы пользователей на моем сайте. Каждый отзыв имеет рейтинг 1-5 звезд. Я хочу напечатать столько звезд. Как мне это сделать? Я вижу только {% for X in Y %}, который позволяет перебирать список, но не определенное количество раз.
{% for X in Y %}
Используйте Фильтр диапазона шаблонов от zalun :
from django.template import Library register = Library() @register.filter def get_range( value ): """ Filter - returns a list containing range made from given value Usage (in template): <ul>{% for i in 3|get_range %} <li>{{ i }}. Do something</li> {% endfor %}</ul> Results with the HTML: <ul> <li>0. Do something</li> <li>1. Do something</li> <li>2. Do something</li> </ul> Instead of 3 one may use the variable set in the views """ return range( value )
Нет необходимости в настраиваемом фильтре - make_list сделает работу:
make_list
{% for i in '123'|make_list %}