【问题标题】:Advice on using FORMAT_MODULE_PATH关于使用 FORMAT_MODULE_PATH 的建议
【发布时间】:2011-07-07 03:25:41
【问题描述】:

根据我阅读的内容,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。

【问题讨论】:

    标签: python django date internationalization settings


    【解决方案1】:

    我无法使用 FORMAT_MODULE_PATH 设置使其工作,但我已经使用 formats.get_format('DATE_INPUT_FORMATS')[0] 成功地做到了这一点。你可以在my answer找到这个。

    【讨论】:

      【解决方案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'
      

      【讨论】:

        猜你喜欢
        • 2021-12-25
        • 2013-07-21
        • 2011-08-11
        • 1970-01-01
        • 2018-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-24
        相关资源
        最近更新 更多