Как сделать простой арифметический калькулятор в шаблоне django?
Я хочу показать два набора чисел из модели в шаблоне django для этого. Я использую цикл for для получения данных каждой строки таблицы для отображения в шаблоне следующим образом :
{% for a in vis %}
{a.numone} {a.numtwo}
{% endfor %}
работает отлично!
Теперь, я хочу сделать простой арифметический расчет, используя эти числа. скажем, например, add, sub, div, умножить эти два числа и показать это в шаблоне.
Как это сделать?
Общий способ
Шаблон не предназначен для каких-либо расчетов или модификации данных. Он используется только для отображения данных в предпочтительном виде.
Поскольку в django все шаблоны требуют представления, просто поместите вычисления в представление вместо этого.
views.py
def your_view(request, *args, **kwargs):
# ... your code
for a in vis:
a.calculated_value = make_calculation(a)
context = {'vis': vis}
return render(request, 'your_template.html', context)
your_template.html
{% for a in vis %}
{{ a.numone }} {{ a.numtwo }} {{ a.calculated_value }}
{% endfor %}
Значения поступают из одного и того же объекта модели
Если значения для вычисления поступают из одного экземпляра модели, вы можете просто добавить метод или свойство к вашей модели и использовать это в шаблоне.
models.py
class ModelA(models.Model):
# ... your code
@property
def calculated_value(self):
return (self.numone + self.numtwo * 2) / 25
your_template.html
{% for a in vis %}
{{ a.numone }} {{ a.numtwo }} {{ a.calculated_value }}
{% en