有关使用FORMAT_MODULE_PATH的建议

时间:2011-03-02 09:37:23

标签: python django date internationalization settings

根据我的阅读FORMAT_MODULE_PATH允许使用自定义格式。

如何在我的应用程序中访问DATETIME_INPUT_FORMATS中的第一个值?

德语的DATETIME_INPUT_FORMATS变量应为'%d.%m.%Y',而英语应为'%Y-%m-%d'。我想根据语言使用formats.py文件中的值。

我按照Django documentation了解了如何使用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 个答案:

答案 0 :(得分:1)

在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'

答案 1 :(得分:0)

我无法使用FORMAT_MODULE_PATH设置使其工作,但我已使用formats.get_format('DATE_INPUT_FORMATS')[0]设法完成此操作。您可以在my answer

中找到