Как переключить L10N в Django - PullRequest
2 голосов
/ 24 октября 2010
LANGUAGE_CODE = 'ru-RU'

USE_I18N = True

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale
USE_L10N = False

{{post.date_added | date: "b"}} дает "окт" в шаблонах.Если я установлю USE_I18N = False, тогда он даст октаву, как и должно быть.Это ошибка?Как я могу решить эту проблему ?Есть ли возможность отключить USE_I18N в шаблоне (частично)?

Ответы [ 2 ]

2 голосов
/ 27 октября 2010

Django сильно зависит от strftime, но: http://docs.python.org/library/datetime.html Директива Значение Примечания% сокращенное название дня недели для локали.
% A Полное название дня недели для локали.
% b Сокращенное название месяца для локали.
% B Полное название месяца в локали.

Поэтому, когда USE_I18N = True, название месяца преобразуется в русский, потому что оно зависит от локали.Напишу свой собственный шаблон тега, вероятно: (

1 голос
/ 03 декабря 2012

Начиная с Django 1.3. Вы можете использовать фильтры localize и unlocalize (после загрузки библиотеки l10n, т.е. делать {% load l10n %}).

Вы можете попробовать это:

{% load l10n %}
{{ post.date_added|unlocalize|date:"b" }}
...