为什么django不使用带有日期模板标签的SHORT_DATE_FORMAT?

时间:2014-01-29 01:06:48

标签: django django-templates

当我为日期模板标记指定时,我很难理解为什么django在模板中不使用我的SHORT_DATE_FORMAT。 我的设置是:

TIME_ZONE = 'Australia/Melbourne'
SHORT_DATE_FORMAT = 'd/m/Y'
LANGUAGE_CODE = 'en-AU'
USE_I18N = True
USE_L10N = True
USE_TZ = True

在我的模板中:

{{ asset.upload_date|date:"SHORT_DATE_FORMAT" }}

我希望'21 / 01/2014'但我得到'01 / 21/2014'。

2 个答案:

答案 0 :(得分:1)

实际上是由于USE_L10N = True + Django仍然没有为澳大利亚(en-au / en_AU)指定d / m / Y的语言环境。有点意外。但随着1.7的发布,它将会存在。

https://code.djangoproject.com/ticket/21237

https://groups.google.com/forum/#!topic/django-users/Bgx3u1xtaMc

答案 1 :(得分:0)

为1.6修复此问题的最简单方法是在app文件夹中创建一个locale文件夹并设置

FORMAT_MODULE_PATH = 'myapp.locale'

然后从

复制en_AU文件夹

<强> https://github.com/django/django/tree/master/django/conf/locale

然后使用

init .py文件添加到语言环境文件夹
LANG_INFO = {
    'en-au': {
        'bidi': False,
        'code': 'en-au',
        'name': 'Australian English',
        'name_local': 'Australian English',
    },
}