Джанго локализация - PullRequest
       1

Джанго локализация

0 голосов
/ 27 октября 2011

В моем файле settings.py установлено следующее:

USE_L10N = True
NUMBER_GROUPING = 3
THOUSAND_SEPARATOR = '#'
USE_THOUSANDS_SEPARATOR =True

Все же мои номера все еще печатают 12000.00. Кто-нибудь может указать мне правильное направление?

(я на Django 1.3)

Ответы [ 2 ]

1 голос
/ 27 октября 2011

Есть вспомогательная библиотека шаблонов, которая поставляется с Django (humanize), которая имеет фильтр под названием intcomma, который звучит так, как будто он будет делать то, что вы хотите.

Использование в шаблоне:

{% load humanize %}
${{ value|intcomma }}
0 голосов
/ 03 ноября 2011

Я не смог найти ни одной локальной причины, по которой локализация не будет работать, поэтому в итоге использовали после для значений до их передачи в шаблон

def commify(n):
    if n is None: return None
    n = str(n)
    if '.' in n:
        dollars, cents = n.split('.')
    else:
        dollars, cents = n, None

    r = []
    for i, c in enumerate(str(dollars)[::-1]):
        if i and (not (i % 3)):
            r.insert(0, ',')
        r.insert(0, c)
    out = ''.join(r)
    if cents:
        out += '.' + cents
    return out
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...