2015-12-11 3 views
2

Я знаю, что могу ограничить число десятичных знаков в поплавке с помощью фильтра floatformat:2, который выводит локализованный поплавок, а также я знаю фильтр stringformat:"f", который выводит пунктирный поплавок, такой как 1.54 вместо локализованной запятой, равной 1,54.Форматирование поплавков с десятичными точками и ограниченной десятичной частью в шаблонах Django

Например, если исходный поплавок 1,54233 Я хотел бы напечатать 1,54 и не 1,54 или 1,54233. Может ли это быть достигнуто без использования специального фильтра?

+0

Не уверен, если я понимаю ваш вопрос. 'floatformat' не является настраиваемым фильтром, почему бы не использовать его? –

+0

@ShangWang, потому что 'floatformat' возвращает локализованный поплавок с использованием запятых вместо точек (или точек) – gerosalesc

+0

вы можете изменить языковой стандарт в блоке с некоторыми тегами см. Https://docs.djangoproject.com/en/1.9/topics/i18n/formatting/# localize – maazza

ответ

4

просто использовать локализуются/unlocalize формат сепаратора

https://docs.djangoproject.com/en/1.9/topics/i18n/formatting/#std:templatefilter-localize

Например:

{% load l10n %}

{{ value|localize }}

Чтобы отключить локализацию на отдельное значение, используйте unlocalize , Для управления локализацией на большой части шаблона используйте тег шаблона localize . unlocalize¶

Задает одно значение для печати без локализации.

Например:

{% load l10n %}

{{ value|unlocalize }}

Чтобы заставить локализации одного значения, использование локализовать. Для управления локализацией на большой части шаблона используйте тег шаблона localize .

редактировать:

см https://docs.djangoproject.com/en/1.9/topics/i18n/translation/#switching-language-in-templates

{% load i18n %} 

{% get_current_language as LANGUAGE_CODE %} 
<!-- Current language: {{ LANGUAGE_CODE }} --> 
<p>{% trans "Welcome to our page" %}</p> 

{% language 'en' %} 
    {% get_current_language as LANGUAGE_CODE %} 
    <!-- Current language: {{ LANGUAGE_CODE }} --> 
    <p>{% trans "Welcome to our page" %}</p> 
{% endlanguage %} 

вы можете переключить язык, чтобы заставить дисплей, если локализуются/unlocalize не работает

+0

Могу ли я использовать это после фильтра 'floatformat'? например '{{val | floaformat: 2 | unlocalize}}'? – gerosalesc

+0

по какой-то причине не работает, я имею в виду, что поплавки все еще печатаются с запятой в виде десятичного разделителя даже с использованием 'localize off'. Я думаю, что фильтр' floatfomat' не учитывает его – gerosalesc

+0

@GermanRosales yes вы можете цепью фильтров – maazza

 Смежные вопросы

  • Нет связанных вопросов^_^