在Django应用中更改语言后,“日期不符合要求的格式”

时间:2019-03-13 16:49:37

标签: python django internationalization

指定的值“ 06-03-2019”不符合要求的格式“ yyyy-MM-dd”。

我在Web应用程序中使用Django国际化,并且由于某种原因,在将语言更改为荷兰语后,我在开发人员工具中输入表单日期时突然收到此错误。使用英语时,一切正常,不显示错误,并且日期保存正确。我使用他的标准django形式dateInput。

在您寻求帮助之前,我在网上搜索了几个小时。任何建议将不胜感激!

谢谢。

2 个答案:

答案 0 :(得分:0)

该问题可能是由本地化引起的,您可以在this之类的表单上将其禁用:

class ExampleForm(forms.Form):
   date_field = forms.DateField(localize=False)

我通常只是在设置中全局禁用本地化:

USE_L10N = False

答案 1 :(得分:0)

实际上,解决该问题的方法是通过添加format =('%Y-%m-%d')来手动设置它。

        for field in date_fields:
        self.fields[field].widget = forms.DateInput(
            format=('%Y-%m-%d'),
            attrs={
                'type': 'date',
                'class': 'form-control',
                'max': now.strftime('%Y-%m-%d'),
                'data-msg-min': _("Kies een datum op of na {0}"),
                'data-msg-max': _("Kies een datum die niet in de toekomst ligt")
            },
        )