【问题标题】:How to only override DECIMAL_SEPARATOR in django while keeping localization intact?如何仅在 django 中覆盖 DECIMAL_SEPARATOR,同时保持本地化不变?
【发布时间】:2015-04-03 10:26:44
【问题描述】:

Django 的本地化很好。方便获得翻译的日期和月份以及正确的日期格式。

我的问题是,在荷兰语环境中,逗号用于分隔小数(因此:12,45 而不是 12.45)。从理论上讲,这是正确的选择。然而,在实践中,几乎每个人都使用点作为小数分隔符。至少我们的客户会这样做。

所以:我确实想要 django 的本地化,但我只想调整 DECIMAL_SEPARATOR。问题:本地化优先于在我的设置文件中简单地设置DECIMAL_SEPARATOR = '.'

我可以添加一个格式目录并使用FORMAT_MODULE_PATH,但我不喜欢将这样的目录复制/粘贴到我所有的 django 项目中。

那么:我错过了什么吗?有没有更好的办法?

(补充一点:最安全的方法是接受点或逗号,因为几乎没有人手动输入千位分隔符。)

【问题讨论】:

标签: django localization


【解决方案1】:

示例:xxx = 123456

如果你想要逗号:

def commaxxx(self):
    return f"{self.xxx:,}"

如果你想要点:

def dotxxx(self):
    comma = f"{self.xxx:,}"
    dot= comma.replace(',', '.')
    return dot

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多