Отображение звезды рейтинга в Django с помощью fontawesome v5.13

Я пишу сайт на django и в этом сайте я периодически прошу пользователей оценить платформу. Я храню оценки с помощью models.FloatField() в моей базе данных. Теперь моя проблема в том, как отобразить звезды.

Если у меня есть что-то вроде 3.5 в качестве значения рейтинга, то на моей html-странице у меня должно быть 3 полные звезды, четвертая звезда должна быть половиной, а пятая (также последняя) должна быть пустой звездой

Как я могу добиться этого с помощью fontawesome v5.13

Иметь файл шаблона для каждого значения рейтинга:

##### stars_0.5.html
<i class="fa fa-star-half-o"=></i> # half star
<i class="far fa-star"></i> #hollow star
<i class="far fa-star"></i> #hollow star
<i class="far fa-star"></i> #hollow star
<i class="far fa-star"></i> #hollow star

##### stars_1.0.html
<i class="fas fa-star"=></i> # full star
<i class="far fa-star"></i> #hollow star
<i class="far fa-star"></i> #hollow star
<i class="far fa-star"></i> #hollow star
<i class="far fa-star"></i> #hollow star

##### stars_1.5.html
<i class="fas fa-star"=></i> # full star
<i class="fa fa-star-half-o"=></i> # half star
<i class="far fa-star"></i> #hollow star
<i class="far fa-star"></i> #hollow star
<i class="far fa-star"></i> #hollow star

etc..

Тогда, по вашему мнению:

...
stars_template = f'stars_{str(rating)}.html'
context = {"stars_template": stars_template, ...}

А в вашем шаблоне:

... other html
{% include stars_template %}
... other html
Вернуться на верх