Django-lokalisatie

Ik heb het volgende ingesteld in mijn settings.py bestand:

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

Toch drukken mijn nummers nog steeds 12000.00 . Kan iemand me in de goede richting wijzen?

(Ik ben op Django 1.3)

0

2 antwoord

Er is een helper-sjabloonbibliotheek die wordt geleverd met Django (vermenselijkt), die een filter heeft met de naam intcomma dat klinkt zoals het zou doen wat je wilt.

Gebruik in een sjabloon:

{% load humanize %}
${{ value|intcomma }}
1
toegevoegd
Bedankt. Ik had moeten zeggen dat ik dynamisch door de variabelen fiets, vandaar waarom ik me afvraag waarom ik, als ik alles heb ingesteld, mijn int's nog steeds niet uit elkaar krijg
toegevoegd de auteur Sevenearths, de bron

Ik kon geen enkele locale reden vinden waarom lokalisatie niet zou werken, dus ik gebruikte de volgende over waarden voordat ze worden doorgegeven aan een sjabloon

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
toegevoegd