Python ModelForm中的Django datepicker使用实例显示不正确的日期
我在forms.py中有一个ModelForm作为-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
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'})
)
(请记住,字段负责输入验证,小部件负责显示。)