Search code examples
djangolocalizationformattingformatdatefield

Django: How to format a DateField's date representation?


I have a form with a DateField. The existing date value is formatted to render like this:

2009-10-03

How can I format that so that it look like this:

03.10.2009

I found a widget which renders it like this, but validation doesn't allow the values I enter then.


Solution

  • To display initial field value properly formatted, use DateInput widget. To customize validation, use input_formats keyword argument of DateField.

    Why do you need both format and input_formats?

    format - The format in which this field’s initial value will be displayed. See here.

    input_formats - A list of formats used to attempt to convert a string to a valid datetime.date object. See here.