Как подсчитать значение на сайте Python-Django
У меня есть количество продаж и количество возвратов. Мне нужно отобразить процент невозвращенных товаров в safetycoef
. Например, есть 500 продаж и 100 возвратов, это должно быть 80% в 'safetycoef'. Или 1000 продаж и 240 возвратов, это означает 76%. Как это реализовать?
html:
<div>
{% for phone in object_list %}
<div class="smartphone" >
{% endif %}
<p>{{ phone.title }} — reliabilty {{phone.safetycoef }}%</p>
<p>Based on {{phone.sales }} sales and {{phone.returns }} returns </p>
</div>
{% endfor %}
</div>
лучший способ - вычислить его в представлении и затем отправить его внутрь контекста. Вы также можете вычислить его в html, но это не так просто.
Разместите всю свою логику внутри Python. Шаблон - не самое подходящее место для этого.
В вашем примере вы просматриваете несколько телефонов и хотите получить процент невозвращенных товаров для соответствующего телефона.
Я бы объявил метод на модели и вызвал его внутри вашего шаблона:
# models.py
class Phone(models.Model):
# your attributes here
# ...
def get_reliability_percentage(self):
return (1 - (self.returns / self.sales)) * 100
Затем вы можете вызвать этот метод внутри вашего шаблона:
<div>
{% for phone in object_list %}
<div class="smartphone" >
{% endif %}
<p>{{ phone.title }} — reliabilty {{ phone.get_reliability_percentage }}%</p>
<p>Based on {{phone.sales }} sales and {{phone.returns }} returns </p>
</div>
{% endfor %}
</div>