Как продублировать текст n раз в Django шаблонах

Я делаю список отзывов, и мне нужно user_course.rate раз написать заполненную звездочку (★), и остальные до пяти заполнить пустую (☆) Т.е если рейтинг 4, то должно быть так ★★★★☆

Gpt выдал такой вариант:

<div class="review-rating">
    {% for i in 1|to:user_course.rate %}
        &#9733;
    {% endfor %}
    {% for i in user_course.rate|add:1|to:5 %}
        &#9734;
    {% endfor %}
</div>

Но он падает с ошибкой Invalid filter: 'to'. Я в принципе не нашел способа например фиксированное количество раз напечатать символ, не то что уж какой-то переменной. Заранее спасибо за помощь

Можно сделать так, например:

{% for _ in '12345' %}
{% if user_course.rate >= forloop.counter%}
    ★
{% else %}
    ☆
{% endif %}
{% endfor %}

И я настоятельно НЕ РЕКОМЕНДУЮ использовать для кодинга помощь ChatGPT.

Вернуться на верх