Как форматировать большие числа, используя пробелы вместо запятой?

Я использую тег django.contrib.humanize intcomma для форматирования больших чисел, таких как это $18,162,711,641

но мне нужны пробелы вместо запятых, например, так $18 162 711 641

Как я могу этого достичь? Спасибо.

Спасибо Abdul Niyas P M

Вот что работает для меня. Мне пришлось поместить это в каталог app_name/templatetags и загрузить в шаблон с помощью {% load intspace %}

from django import template

register = template.Library()

@register.filter
def intspace(value):
    import re

    orig = str(value)

    new = re.sub(r"^(-?\d+)(\d{3})", r"\g<1> \g<2>", orig)
    if orig == new:
        return new
    else:
        return intspace(new)

внутри шаблона вы можете использовать его как {{ 18162711641|intspace }}

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