我的语言环境dateformat是dd / mm / yyyy,Django正在要求AAAA-MM-DD
当用户输入时04/11/2009 Django提出:
_('Enter a valid date in YYYY-MM-DD format.'))
我使用简单的html输入字段type =“text”,Not forms.DateField
谢谢:)
答案 0 :(得分:5)
我假设您使用的是forms.DateField
。如果是这样,您需要提供input_formats
参数,如下所示:
class MyForm(forms.Form):
start_date = forms.DateField(input_formats=['%d/%m/%Y'])
input_formats只列出您要接受的格式。
有关详细信息,请参阅http://docs.djangoproject.com/en/dev/ref/forms/fields/#datefield。
答案 1 :(得分:1)
根据OP的帖子和评论,看起来这里有更多,而不仅仅是使用input_formats作为日期字段,尽管你会想要这样做。 “以YYYY-MM-DD格式输入有效日期”消息是一个例外,不表单验证错误。如果您尝试使用不是“YYYY-MM-DD”的日期字符串保存模型实例,则会出现此异常。
我们需要在表单中使用DateField,然后使用已清理的数据(即datetime对象)实例化模型。看起来OP使用字符串而不是日期时间对象来实例化模型。
Django文档的这一部分讨论了准备DateField数据: https://docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#what-happens-when-you-save