Django localize = True在DateTimeField上不起作用

时间:2015-04-17 09:51:03

标签: django localization

在新西兰,我们以这种格式输入日期时间:%d/%m/%Y

我有这个模型字段:

entry_start_date = models.DateTimeField()

基于documentation,我添加到模型表单中:

class Meta:
    localized_fields = ('entry_start_date',)

我的设置是:

TIME_ZONE = 'Pacific/Auckland'
LANGUAGE_CODE = 'en-nz'
USE_I18N = True

表格仍然抱怨'22/11/2015'上的日期/时间格式不正确,但使用'2015-11-22'。

但如果我将DateTimeField更改为DateField,则参与'22 / 11/2015'。

1 个答案:

答案 0 :(得分:1)

我用完了选项,但使用了之前我做过的自定义格式方法:

django FORMAT_MODULE_PATH not working

为了使其有效,我必须添加'%d /%m /%Y'进入DATETIME_INPUT_FORMATS

# -*- coding: utf-8 -*-

from __future__ import unicode_literals
from __future__ import absolute_import

DATE_FORMAT = '%d/%m/%Y'
DATE_INPUT_FORMATS = ('%d/%m/%Y', '%Y-%m-%d')
DATETIME_INPUT_FORMATS = ('%d/%m/%Y %H:%M:%S', '%Y-%m-%d %H:%M:%S', '%d/%m/%Y')