Initial value is not displayed on forms.DateField with widget input type="date" when localized

1,150 views
Skip to first unread message

binoy...@gmail.com

unread,
Oct 27, 2021, 5:07:00 AM10/27/21
to Django users
Hi
I have a form field forms.DateField and widget as follows

class CustomDateInput(forms.DateInput):
    input_type = 'date'

valid_from = forms.DateField(
        label=_("Valid from"), widget=CustomDateInput(), required=False, localize=True)


But the date is not displayed by the browser when the language is German(de). The field is rendered as follows with in:

<input type="date" name="valid_from" value="25.10.2021" class="form_item" id="id_valid_from">

But the browser is not display the initial value to the user, instead shows mm/dd/yyyy when the system language is English and dd.mm.yyyy when the system language is German.

I have also tried not passing the localize form field argument as well as localize off template tag, but both didn't work. 

I could resolve the issue by rending the field manually and setting the date form to  yyyy-mm-dd.

Is it a browser issue or as the date input supports only value in yyyy-mm-dd?

Python version: 3.8. 10 and django: 3.0.14


Sebastian Jung

unread,
Oct 27, 2021, 6:18:32 AM10/27/21
to django...@googlegroups.com
Hello,

I think you need a entry in settings.py with USE_L10N = True

You can make fix format in settings.py with DATE_FORMAT = 'd.m.Y'

Regards

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/223f7686-eb61-4fcf-8f1a-b0f147b58b86n%40googlegroups.com.

binoy...@gmail.com

unread,
Oct 27, 2021, 6:42:38 AM10/27/21
to Django users
Hi

Sorry, I missed that part.

class CustomDateInput(forms.DateInput):
    input_type = 'date'
    format = get_format(forms.DateInput.format_key) + ["%d.%m.%Y"]

and USE_L10N = True in settings.

Sebastian Jung

unread,
Oct 27, 2021, 6:49:30 AM10/27/21
to django...@googlegroups.com
Hello,

but why you configure this with a own class? You can configure this in settings.py...

Regards

Virenfrei. www.avast.com

Tim Graham

unread,
Oct 27, 2021, 10:48:52 AM10/27/21
to Django users
You can read https://code.djangoproject.com/ticket/33113 for some details on this issue.
Reply all
Reply to author
Forward
0 new messages