我有一个表单来创建一个日期输入格式为'dd / mm / yyyy'的对象,当我提交表单时,它保存没有任何问题,但是当我编辑此对象时,日期显示为' YYYY-MM-DD”。
settings.py
DATE_INPUT_FORMATS = ('%d/%m/%Y')
forms.py
class MyForm(forms.ModelForm):
created_date = forms.DateField(input_formats=['%d/%m/%Y',],
widget=forms.DateInput(attrs={'class':'datepicker form-control', 'placeholder':'Select a date'}), required=False)
models.py
created_date = models.DateField(blank=True, null=True, verbose_name="Created on")
views.py
class MyEdit(SuccessMessageMixin, UpdateView):
model = MyModel
form_class = MyForm
template_name_suffix = '_edit'
success_message = '...'
在我的模板中我使用
$(".datepicker").datepicker({
format: 'dd/mm/yyyy',
autoclose: true,
changeYear: true,
changeMonth: true
});
答案 0 :(得分:4)
请记住,该字段负责验证,但是负责显示值的窗口小部件。所以你也需要传递format
:
widget=forms.DateInput(attrs={'class':'datepicker form-control', 'placeholder':'Select a date'}), required=False, format='%d/%m/%Y')