Django在本地化时形成日期验证失败

时间:2012-04-10 18:22:25

标签: django forms validation

您好我有一个表格,如:

class GraphForm(forms.Form):
    ...
    startdate = forms.DateField(
                label=ugettext_lazy('Start Date'),
                widget=forms.TextInput(attrs={"placeholder": 'YYYY-MM-DD'}),
                )
    enddate = forms.DateField(
                label=ugettext_lazy('End Date'),
                widget=forms.TextInput(attrs={"placeholder": 'YYYY-MM-DD'}),
                )
    ...

麻烦的是我正在使用Djangos国际化和本地化的国际网站。该表单在英语中运行良好,但如果语言切换为西班牙语,由于格式,日期字段将无法通过验证。有没有办法绕过本地化并以相同的格式验证,无论语言选择如何?

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:0)

好的,所以答案非常简单:

date_format = '%Y-%m-%d' 

class GraphForm(forms.Form):
    ...
    startdate = forms.DateField(
            label=ugettext_lazy('Start Date'),
            widget=forms.TextInput(attrs={"placeholder": 'YYYY-MM-DD'}),
            input_formats=[date_format,],
            )
    enddate = forms.DateField(
            label=ugettext_lazy('End Date'),
            widget=forms.TextInput(attrs={"placeholder": 'YYYY-MM-DD'}),
            input_formats=[date_format,],
            )
    ...

希望这有助于其他人。