【问题标题】:Django localize=True doesn't work on DateTimeFieldDjango localize=True 在 DateTimeField 上不起作用
【发布时间】:2015-04-17 09:51:03
【问题描述】:

在新西兰,我们以这种格式输入日期时间:%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' 工作。

【问题讨论】:

    标签: django localization


    【解决方案1】:

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

    django FORMAT_MODULE_PATH not working

    为了让它工作,我必须在 DATETIME_INPUT_FORMATS 中添加 '%d/%m/%Y'

    # -*- 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')
    

    【讨论】:

      猜你喜欢
      • 2011-08-19
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 2020-07-20
      相关资源
      最近更新 更多