Как отформатировать значения с плавающей точкой в ​​шаблоне Django? - PullRequest
0 голосов
/ 03 июня 2019

Я хочу отформатировать значения с плавающей точкой в ​​моем шаблоне django следующим образом:

125000 => 125k

125,000,000 => 125M

Должен ли я использовать какой-либо custom template tag для этого или у django уже есть?

Есть идеи?

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Вы можете использовать это по тегу шаблона фильтра ниже:

@register.filter
def format_number(num):
    num = int(num)
    magnitude = 0
    while abs(num) >= 1000:
        magnitude += 1
        num /= 1000.0
    return '%.2f%s' % (num, ['', 'K', 'M', 'G', 'T', 'P'][magnitude])

print(format_number(32413423)) # 32.41M

Это будет поддерживать до P

Я создал код по этой ссылке: форматирование длинных чисел как строк в Python

0 голосов
/ 03 июня 2019

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

Вы найдете что-то похожее на то, что вам нужно в django.contrib.humanize , используйте это как основу для создания собственного фильтра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...