Djangoのローカリゼーション

私は settings.py ファイルで次のように設定しました:

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

それでも私の数字はまだ 12000.00 です。誰かが私を正しい方向に向けることができますか?

(私はDjango 1.3を使っています)

0

2 答え

Django(humanize)に同梱されているヘルパーテンプレートライブラリには、 intcomma というフィルタがあり、それはあなたが望むことをするように思えます。

テンプレートでの使用:

{% load humanize %}
${{ value|intcomma }}
1
追加された
ありがとう。変数を動的に循環させていることに言及しておきたいのですが、なぜ私は何も設定していないときに、私のintの分離を得られないのでしょうか?
追加された 著者 Sevenearths,

ローカライゼーションがうまくいかないような地理的な理由が見つからなかったので、に従います

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
0
追加された