python – 为什么django使用逗号作为小数分隔符

我使用的是python 2.6和django 1.27

我的模特

class Plan(models.Model):
     price = models.DecimalField(max_digits=5, decimal_places=2,default=0)
     .....

在我的模板中我有

{{plan.price}}

我的问题是,在我的本地机器上,我将点用作分隔符,例如’2.54′
在我的生产机器上我得到’2,54′ – 逗号用作分隔符.
我想在任何地方使用点.

在django文档中
https://docs.djangoproject.com/en/1.2/ref/settings/#decimal-separator
它说“DECIMAL_SEPARATOR”选项是默认的点.

顺便说两句机器

In [2]: from django.conf import settings
In [3]: print settings.DECIMAL_SEPARATOR
.

解:

正如@Marcin指出的那样
在生产机器上将USE_L10N设置为False.

解决方法:

首先,我假设您在settings.py中打开了L10N和I18N,因为这是默认设置.您看到的差异可能是因为您从具有两种不同语言环境的两台不同计算机访问该网站. Django尝试格式化浏览器报告的语言环境.

但是,您可以禁用此行为.请参见https://docs.djangoproject.com/en/dev/ref/settings/.设置USE_L10N = False,并设置链接页面上指定的各种分隔符选项.

上一篇:javascript编号精度而不转换为String


下一篇:2019CCPC秦皇岛 J MUV LUV EXTRA(KMP)