Цикл for в Django для пользовательских настроек n количество раз

Я хочу запустить цикл for на основе номера каждой отдельной записи модели, у меня есть модель testimonial и одно из ее полей ratings (целочисленное поле) Я хочу запустить цикл for-loop для n раз, где n=значение рейтинга для этой конкретной записи.

например: [![введите описание изображения здесь][1]][1]

>

здесь ratings = 4 Я хочу выполнить for-loop 4 раза, чтобы показать 4 звезды в разделе отзывов.

Я попробовал сделать следующее: (что, конечно, является неправильным методом, упомянутым только ради демонстрации того, что я хочу)

          <div>
            {% for _ in range({{testimonial.ratings}}) %}
            <span class="fa fa-star checked"></span>
            {% endfor %}
          </div>

models.py выглядит примерно так:

class Testimonials(models.Model):
    photo = models.ImageField(upload_to="testimonials_photo/", null=True, verbose_name='Client Photo', blank=True)
    ratings = models.IntegerField(verbose_name="rating")
    pt_messsage = models.TextField(verbose_name="Message")
    pt_name = models.CharField(verbose_name="Patient Name", max_length=200)
    client_profession = models.CharField(verbose_name="Patient Profession", max_length=200, blank=True)

    def __str__(self):
        return self.pt_name

В представлении черновика создается словарь 'players', который передается в качестве контекста. В шаблоне каждое значение отображается на странице в цикле. Все, что вам нужно сделать, это заменить список с числами на свой собственный и отобразить его на странице.

Замените bboard на имя папки, в которую помещены ваши шаблоны (строка вида: template_name = 'bboard/tam_form.html').

views.py

def draft(request):
    context = {'players': [1, 2, 3, 4, 5]}

    return render(request, "bboard/word.html", context)

urls.py

 urlpatterns = [
 path("draft/", draft, name="draft"),
]

templates

{% for aaa in players %}
   <p>{{ aaa }}</p>
{% endfor %}
Вернуться на верх