[英]Django datepicker in ModelForm shows incorrect date with instance
我在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,
});
使用創建表單,一切正常,對象成功創建。 但是,在編輯對象時,表單上顯示的初始日期不正確(可能將%Y-%m-%d解析為%d-%m-%Y)。 如何在更新表單中顯示正確的日期? 我嘗試在__init__
設置初始字母,但沒有成功。
您應該將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'})
)
(請記住,該字段負責輸入驗證,小部件負責顯示。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.