关于使用FORMAT_MODULE_PATH的建议
根据我所了解,FORMAT_MODULE_PATH
这个设置可以让我们使用自定义的格式。
我想知道如何在我的应用程序中访问DATETIME_INPUT_FORMATS
中的第一个值?
对于德语,DATETIME_INPUT_FORMATS
的值应该是'%d.%m.%Y'
,而对于英语则应该是'%Y-%m-%d'
。我想根据语言使用formats.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 个回答
2
在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
我没法通过设置 FORMAT_MODULE_PATH 来让它工作,但我用 formats.get_format('DATE_INPUT_FORMATS')[0] 成功解决了这个问题。你可以在 我的回答 中找到更多信息。