yos*_*ssi 12 python django decimal
我使用的是python 2.6和django 1.27
我的模特
class Plan(models.Model):
price = models.DecimalField(max_digits=5, decimal_places=2,default=0)
.....
Run Code Online (Sandbox Code Playgroud)
在我的模板中我有
{{plan.price}}
Run Code Online (Sandbox Code Playgroud)
我的问题是在我的本地机器上我得到点用作分隔符,例如'2.54'
在我的生产机器上我得到'2,54' - 逗号用作分隔符.
我想在任何地方使用点.
在django docs
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
.
Run Code Online (Sandbox Code Playgroud)
解:
正如@Marcin指出
在生产机器上将USE_L10N设置为False.
Mar*_*éin 23
您可以直接在模板上使用此替代方法:
{% load l10n %}
{% localize off %}
{{ my_floatvar }}
{% endlocalize %}
Run Code Online (Sandbox Code Playgroud)
或者这个:
{% load l10n %}
{{ my_floatvar|unlocalize }}
Run Code Online (Sandbox Code Playgroud)
Mar*_*cin 15
首先,我假设你已经开启了L10N和I18N settings.py,因为这是默认设置.您看到的差异可能是因为您从具有两种不同语言环境的两台不同计算机访问该网站.Django尝试格式化浏览器报告的语言环境.
但是,您可以禁用此行为.请参阅https://docs.djangoproject.com/en/dev/ref/settings/.设置USE_L10N=False并设置链接页面上指定的各种分隔符选项.
| 归档时间: |
|
| 查看次数: |
10562 次 |
| 最近记录: |