如何更改默认的日期格式AAAA-MM-DD在Django到DD / MM / YYYY?
-
16-09-2019 - |
题
我的区域设置的日期格式为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
不隶属于 StackOverflow