【问题标题】:how to turn off l10N for django-money values如何为 django-money 值关闭 l10N
【发布时间】:2021-10-10 07:51:56
【问题描述】:

我使用{% load l10n %},效果很好。

但它会将Money('55652.69924091', 'USD')(来自包django-money)格式化为55652.70 USD,这通常没问题,但在一个地方我需要得到55652.6992 USD(小数位数增加到4)。

我试过{% localize off %}{{ object.value }} {% endlocalize %}但没有效果。

我可以用.amount 做到这一点,但这很难看。

【问题讨论】:

    标签: django templates


    【解决方案1】:

    从格式本地化的django-money's documentation 开始,它有一个名为money_localize 的模板标签,您可以使用它来打开/关闭特定值的本地化。因此你可以写:

    {% load djmoney %}
    ...
    {% money_localize object.value off %}
    

    【讨论】:

    • 不,该值仍被截断到小数点后两位
    • 你会在球场上设置decimal_places_displaydecimal_places吗?
    • 这是一个属性而不是一个字段,正如我所写的,如果我将值打印到日志中,则值为 Money('55652.69924091', 'USD') (也 object.value.amount 打印 55652.69924091
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2015-05-26
    • 2016-12-17
    • 1970-01-01
    • 2012-08-12
    相关资源
    最近更新 更多