gpt4 book ai didi

django - ValidationError at [u'以 YYYY-MM-DD HH :MM[:ss[. uuuuuu] 格式输入有效的日期/时间。']

转载 作者:行者123 更新时间:2023-12-02 21:59:07 25 4
gpt4 key购买 nike

表单.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'}))

模型.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)

See the docs了解更多!


更好的是,you can enable localization in your Django app ,让 django 自动为你使用正确的格式!

# settings.py
USE_L10N = True

# forms.py
class SearchFilterForm(Form):
fromdate = forms.DateField(localize=True)
todate = forms.DateField(localize=True)

关于django - ValidationError at [u'以 YYYY-MM-DD HH :MM[:ss[. uuuuuu] 格式输入有效的日期/时间。'],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17228577/

25 4 0