У меня есть отзывы пользователей на моем сайте. Каждый обзор имеет оценку 1-5 звезд. Я хочу распечатать это много звезд. Как я делаю это? Я только вижу {% 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
выполнит задание:
{% for i in '123'|make_list %}