我正在创建一个django应用程序,遇到了下一个问题:当我想设置日期时显示此错误:
ValidationError [u"'12/06/2012' value has an invalid date format. It must be in YYYY-MM-DD format."]
对于此型号:
class ModelA(models.Model):
date1 = models.DateField(null=True)
date2 = models.DateField(null=True)
如何将DateField格式设置为%m/%d/%Y
。
无法识别选项"input_formats"
。
谢谢大家!
5条答案
按热度按时间uklbhaso1#
正如@bruno在他的回答中提到的,
input_formats
是一个表单字段,但是它可以用来控制从模型保存的日期格式。在
settings.py
中,将DATE_INPUT_FORMATS
设置为:在您的表单中,您可以执行以下操作:
ca1c2owp2#
input_formats
是forms.DateField
选项,而不是model.DateField
选项。您必须在表单中设置它,而不是在模型中。x7yiwoj43#
您还可以使用LANGUAGE_CODE来获取本地的正确日期格式。
LANGUAGE_CODE ='en-GB'
然后在settings.py
中包含DATE_INPUT_FORMATS = ['%d-%m-%Y', '%Y-%m-%d']
,可以在需要时随时调用settings.py
。yyyllmsg4#
在www.example.comsettings.py中插入:
截至最近(2022年1月),settings.py默认情况下不包含
USE_L10N
(也不包含DATE_INPUT_FORMATS
,但我猜这一个预计不会出现)。看起来,虽然
USE_L10N
在默认情况下不存在,但它不仅存在于某个地方,而且还被设置为True,因为单独设置DATE_INPUT_FORMATS
(即,不显式地使USE_L10N
为False)将无法实现此目的。vwoqyblh5#
对于那些在2023年看这个的人!!!为了让这个工作,我只是补充了一句:
在我的www.example.com中settings.py,它工作了。我现在可以在我的表单中输入20.12.2020。我的表单是从模型自动生成的。模型类