Как сделать простой арифметический калькулятор в шаблоне 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
Вернуться на верх