Django lokalizasyonu

settings.py dosyasında aşağıdakileri ayarladık:

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

Yine de sayılarım hala 12000.00 çıktı. Beni doğru yöne yönlendiren var mı?

(Django 1.3'teyim)

0

2 cevap

intcomma adlı bir filtreye sahip olan Django (humanize) ile birlikte gelen ve istediğiniz gibi yapacağınız bir yardımcı şablon kütüphanesi var.

Şablonda kullanım:

{% load humanize %}
${{ value|intcomma }}
1
katma
Teşekkürler. Değişkenler arasında dinamik olarak dolaştığımı söylemeliyim, bu yüzden neden her şeyi ayarladığımda neden hala int almadım diye merak ettim
katma yazar Sevenearths, kaynak

Yerelleştirmenin neden işe yaramayacağına dair herhangi bir yerel neden bulamadım. Bu nedenle aşağıdaki .

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
katma