Python ModelForm中的Django datepicker使用实例显示不正确的日期

Python ModelForm中的Django datepicker使用实例显示不正确的日期,python,django,datepicker,modelform,Python,Django,Datepicker,Modelform,我在forms.py中有一个ModelForm作为- class MyForm(forms.ModelForm): from_date = forms.DateField(input_formats=['%d-%m-%Y'], label='From Date', widget=forms.TextInput( attr

我在forms.py中有一个ModelForm作为-

class MyForm(forms.ModelForm):
from_date = forms.DateField(input_formats=['%d-%m-%Y'],
                           label='From Date',
                           widget=forms.TextInput(
                                   attrs={'placeholder': 'Select a date', 'class': 'datepicker'})
                           )
to_date = forms.DateField(input_formats=['%d-%m-%Y'],
                           label='To Date',
                           widget=forms.TextInput(
                                   attrs={'placeholder': 'Select a date', 'class': 'datepicker'})
                           )

class Meta:
    model = MyModel
    fields = ['from_date', 'to_date', 'reason']
以及相关的js-

<script src="https://cdnjs.cloudflare.com/ajax/libs/flatpickr/4.5.2/flatpickr.min.js"></script>
$('.datepicker').flatpickr({
    dateFormat: "d-m-Y",
    allowInput:true,
});

$('.datepicker').FlatPicker({
日期格式:“d-m-Y”,
是的,
});

使用create表单,一切工作正常,对象创建成功。但是,在编辑对象时,表单上显示的初始日期不正确(可能将%Y-%m-%d解析为%d-%m-%Y)。如何在更新表单中显示正确的日期?我试着在
\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuu中设置首字母,但没有成功。

您应该使用DateInput,而不是TextInput,以及
format
属性

from_date = forms.DateField(input_formats=['%d-%m-%Y'],
                           label='From Date',
                           widget=forms.DateInput(
                                   format='%d-%m-%Y',
                                   attrs={'placeholder': 'Select a date', 'class': 'datepicker'})
                           )
(请记住,字段负责输入验证,小部件负责显示。)