![](/img/trans.png)
[英][u"'' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]
[英]ValidationError at [u'Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format.']
forms.py
class SearchFilterForm(Form):
fromdate = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'dd/mm/yy','class':'datefield','readonly':'readonly'}))
todate = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'dd/mm/yy','class':'datefield','readonly':'readonly'}))
models.py
class Report(models.Model):
user = models.ForeignKey(User, null=False)
created_date_time = models.DateTimeField('Created')
sent_date_time = models.DateTimeField('Sent')
在數據庫中,日期對象以YYYY-MM-DD HH:MM
格式保存,並且在forms.py中使用,格式為dd/mm/yyyy
。如果我使用yyyy-mm-dd格式,則不會出現任何錯誤由於我在表格中使用了dd / mm / yyyy格式,因此我收到此驗證錯誤。我想知道如何處理此問題。
您應該在表單中使用DateField
並配置input_formats
以支持您要使用的格式:
ACCEPTABLE_FORMATS = ['%d-%m-%Y', # '25-10-2006'
'%d/%m/%Y', # '25/10/2006'
'%d/%m/%y'] # '25/10/06'
# Add your own at will, but be mindful of collisions.
class SearchFilterForm(Form):
fromdate = forms.DateField(input_formats=ACCEPTABLE_FORMATS)
todate = forms.DateField(input_formats=ACCEPTABLE_FORMATS)
更好的是, 您可以在Django應用中啟用本地化 ,然后讓django自動為您使用正確的格式!
# settings.py
USE_L10N = True
# forms.py
class SearchFilterForm(Form):
fromdate = forms.DateField(localize=True)
todate = forms.DateField(localize=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.