Дата в формате django в предоставленной пользователем локали

Я пытаюсь настроить форматирование дат в шаблонах на основе локали, предоставленной пользователем. Поскольку остальная часть страницы останется в исходном локальном ('en'), я хочу, чтобы только данные, предоставленные моими пользователями, были отформатированы.

например, даты.

пользователи в Великобритании должны иметь возможность использовать l10n на датах на их страницах, но я не хочу, чтобы весь сайт был en_GB,

Есть ли способ установить локаль в шаблоне в блоке, например. что-то вроде

{% locale|'en_GB' %}
    {{ my_date|localize }}
{% endlocale %}

1 ответ

Вам не нужно делать ничего явного в шаблоне.

Внутри вашего settings.py определить FORMAT_MODULE_PATH установка. Подобно:

FORMAT_MODULE_PATH = 'myproject.myapp.formats'

под formats каталог создает один пакет Python для каждого поддерживаемого языка (кроме вашего по умолчанию) вашего проекта. Внутри каждого из них вы должны иметь formats.pyкоторый должен иметь какие-либо локализованные параметры форматирования.

В моем случае язык по умолчанию для моего проекта enно я тоже поддерживаю el(Греческий). Так что у меня есть это в моем settings.py:

FORMAT_MODULE_PATH = 'myproject.websiteapp.formats'

Внутри myproject/websiteapp/formats каталог у меня есть el пакет с formats.py файл, как:

el/
 __init__.py
 formats.py

Внутри formats.py У меня есть это:

DATETIME_FORMAT="l j M Y, g:i a"

который является греческим конкретным представлением даты.

Поэтому, когда я использую поле datetime внутри моих шаблонов:

{{ mymodel.pub_date }}

Он печатает по умолчанию en представление, когда языковой стандарт установлен по умолчанию:

Published on: Feb. 22, 2013, 1:47 p.m.

и мой пользовательский греческий, когда локаль установлена el,

Δημοσιεύτηκε: Τετάρτη 6 Φεβ 2013, 5:39 μμ.

Больше информации здесь

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

Хм, я только что понял, что вы просили конкретные блоки шаблона или значения. Может быть, фильтр шаблона локализации или тег шаблона локализации больше подходят для вашего конкретного случая?

Другие вопросы по тегам