как отключить l10N для django-денежные ценности

#django #templates

Вопрос:

Я использую {% load l10n %} , и это отлично работает.

Но он форматируется Money('55652.69924091', 'USD') (из пакета django-money) в 55652.70 USD , что в целом нормально, но в одном месте мне нужно получить 55652.6992 USD (десятичные знаки увеличиваются до 4).

Я пытался {% localize off %}{{ object.value }} {% endlocalize %} , но безрезультатно.

Я могу сделать это с .amount помощью , но это некрасиво.

Ответ №1:

Из документации django-money по локализации форматов в нем есть тег шаблона под названием «как money_localize «, который вы можете использовать для включения / выключения локализации для определенных значений. Следовательно, вы можете написать:

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

Комментарии:

1. Нет, значение по-прежнему усечено до двух знаков после запятой

2. Вы decimal_places_display decimal_places случайно не сидите или не на поле?

3. это свойство, а не поле, и, как я уже писал, если я напечатаю значение в журнале, значение будет равно деньгам(‘55652.69924091’, ‘USD’) (также object.value. сумма отпечатков 55652,69924091