我在settings.py
文件中设置了以下内容:
USE_L10N = True
NUMBER_GROUPING = 3
THOUSAND_SEPARATOR = '#'
USE_THOUSANDS_SEPARATOR =True
然而,我的号码仍在打印12000.00
。有人能指出我正确的方向吗?
(我在Django 1.3上)
答案 0 :(得分:1)
Django(humanize)附带了一个帮助模板库,它有一个名为intcomma
的过滤器,听起来像你想做的那样。
模板中的用法:
{% load humanize %}
${{ value|intcomma }}
答案 1 :(得分:0)
我找不到任何合理的原因,为什么本地化不会起作用所以在将值传递给模板之前最终使用following值
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