Цикл 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 %}