I have a form to create an object where the date input format is 'dd/mm/yyyy', when I submit the form, it is saved without any problem, but when I edit this object, the date shows as '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 = '...'
and in my template I use
$(".datepicker").datepicker({
format: 'dd/mm/yyyy',
autoclose: true,
changeYear: true,
changeMonth: true
});
Remember that the field is responsible for validation, but it is the widget that is responsible for displaying the value. So you need to pass format there too:
widget=forms.DateInput(attrs={'class':'datepicker form-control', 'placeholder':'Select a date'}), required=False, format='%d/%m/%Y')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With