我的区域设置的日期格式为DD /月/年和Django是requering AAAA-MM-DD

当用户输入04/11/2009 Django的提高:

_('Enter a valid date in YYYY-MM-DD format.')) 

使用im简单的HTML输入框的类型= “文本”,不是forms.DateField

感谢:)

有帮助吗?

解决方案

我假设你使用的是forms.DateField。如果是这样,你需要提供一个input_formats的说法,像这样:

class MyForm(forms.Form):
    start_date = forms.DateField(input_formats=['%d/%m/%Y'])

input_formats只是需要你要接受的格式列表。

请参阅 http://docs.djangoproject.com/en/开发/ REF /形式/场/#的DateField 获得更多的信息。

其他提示

根据对OP的帖子和评论,它看起来像有更多的在这里比只使用input_formats的日期字段,但是你要做到这一点。消息“在YYYY-MM-DD格式输入有效日期”是一个例外和不是形式验证错误。如果您尝试使用日期字符串,它是不是“YYYY-MM-DD”保存模型实例你会得到这个例外。

所需要的是在形式使用的DateField,然后使用实例化的清洁数据的模式,这是一个日期时间对象。它看起来像OP用细绳实例化模型,而不是一个日期时间对象。

Django文档的本节讨论制备的DateField数据: https://开头docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#what-happens-when-you-save

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top