Нужны значения точек после добавления в django шаблонов - PullRequest
0 голосов
/ 02 мая 2020

проблема в том, что при использовании фильтра добавления я получаю необработанный результат или результат округления, например, скажем, 10 + 0,2 = 10 (вместо этого я хочу, чтобы он напечатал 10.2). Мои модели.py и файл шаблонов ниже

models.py

class Shop(models.Model):
    price = models.FloatField()

Я заполнил значение цены в базе данных как 5.

home. html

{{ object.price }}

он печатает 5 (хорошо), но когда я использую фильтр -> {{object.price | add: 0.2}}, он возвращает 10 (я хочу 10.2) на моей домашней странице

1 Ответ

1 голос
/ 02 мая 2020

Django add тег шаблона сначала попытается привести оба значения к целым числам.

Из Django встроенных тегов документация

This Сначала фильтр попытается привести оба значения к целым числам. Если это не удается, он все равно попытается добавить значения вместе. Это будет работать с некоторыми типами данных (строки, список и т. Д. c.) И не сработает на других. Если это не удастся, результатом будет пустая строка.

Если вы хотите, чтобы ваше поведение было, вы должны создать свой собственный пользовательский тег


@register.filter
def addfloat(value, arg):
    return float(value) + float(arg)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...