Деление цены на цену в синтаксисе шаблона Django

В основном, то, что я пытаюсь сделать, это получить 1/4 цены в редакторе шаблонов Django.

quote.total - это сгенерированное системой значение, например: 1235.00, и мне нужно манипулировать этим значением, чтобы показать 308.75 (1235.00 разделить на 4).

Я пробовал использовать {% widthratio quote.total 4 1 %} для получения коэффициента, однако widthratio округляет коэффициент, а мне нужно точное значение.

Я также пробовал {% widthratio quote.total 4 100 %}, чтобы получить коэффициент, умноженный на 100 (подразумевая, что все, что мне нужно сделать, это придумать, как разместить десятичную точку на два места выше), но не нашел способа использовать CSS для размещения десятичной точки.

Также стоит отметить, что из-за продуктов, с которыми я работаю, quote.total никогда не будет иметь значение в десятых или сотых долях. Я пытался использовать это в своих интересах, добавляя операторы модуля и сложные математические правила & логики, но безуспешно.

Одна проблема с системой, которую я использую - у меня нет доступа к бэкенду для создания пользовательских функций, и из-за того, как система анализирует шаблон, я не могу использовать теги сценариев.

Это довольно распространенный случай использования. Рассмотрите возможность использования пользовательского фильтра, что-то вроде:

template.html

{% load quarter %}

{{quote.total|quarter}}

/your_app/templatetags/quarter.py

from django import template
register = template.Library()

@register.filter()
def quarter(value):
        
    return (float(value) * 0.25)

Документация по пользовательским фильтрам находится здесь в Django Docs. Также, как и с любым шаблонным тегом, обязательно перезагрузите ваш сервер после его добавления, иначе django не зарегистрирует тег и выдаст ошибку. Это справедливо для производственных серверов и серверов разработки.

Вернуться на верх