Советы по использованию FORMAT_MODULE_PATH - PullRequest
0 голосов
/ 02 марта 2011

Из того, что я прочитал FORMAT_MODULE_PATH позволяет использовать пользовательские форматы.

Как мне получить доступ к первому значению из DATETIME_INPUT_FORMATS в моем приложении?

Переменная DATETIME_INPUT_FORMATS для немецкого языка должна быть '%d.%m.%Y', тогда как для английского языка должна быть '%Y-%m-%d'. Я хочу использовать значения из файлов format.py в зависимости от языка.

Я следовал документации Django о том, как использовать переменную FORMAT_MODULE_PATH, но я не получил ожидаемых результатов.

settings.py:
    USE_L10N = True
    USE_I18N = True
    FORMAT_MODULE_PATH = 'myproject.formats'


myproject/
    formats/
        __init__.py
        en/
            __init__.py
            formats.py
        de/
            __init__.py
            formats.py

Я меняю язык браузера с английского на немецкий и обратно, и с форматом даты ничего не происходит. Это всегда '%Y-%m-%d'. Отображаемый формат даты имеет значение settings.DATE_INPUT_FORMATS[0].

Версия Django - 1.2.5, а версия Python - 2.5.4.

Ответы [ 2 ]

1 голос
/ 02 марта 2012

В Django 1.3 у меня это работает правильно:

в settings.py:

USE_I18N = True
USE_L10N = True
TIME_ZONE = 'Europe/Amsterdam'
LANGUAGE_CODE = 'nl_NL'
FORMAT_MODULE_PATH = 'settings.locale'

В settings/locale/nl/formats.py:

DATETIME_FORMAT = 'j F Y \o\m H:i'
0 голосов
/ 04 марта 2011

Я не мог заставить его работать, используя настройку FORMAT_MODULE_PATH, но мне удалось это сделать с помощью format.get_format ('DATE_INPUT_FORMATS') [0]. Вы можете найти это в моем ответе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...