I have an application in Django 1.2.
Language is selectable (I18N and Locale = True)
When I select the english lang. in the site, the admin works OK. But when I change to any other language this is what happens with date inputs (spanish example):
Correctly, the input accepts the spanish format %d/%m/%Y (Even selecting from the calendar, the date inserts as expected). But when I save the form and load it again, the date shows in the english form: %Y-%m-%d
The real problem is that when I load the form to change any other text field and try to save it I get an error telling me to enter a valid date, so I have to write all dates again or change the language in the site to use the admin.
I haven’t specified anything for DATE_INPUT_FORMATS in settings nor have I overridden forms or models.
Surely I am missing something but I can’t find it. Can anybody give me a hint?
Adding this to your settings should solve the part you call “the real problem”:
But it’s a problem with Django. I opened a ticket about the issue, but you should comment, because your example shows it is even more serious problem then I thought it was (because as it turned out not all localization accepts both “universal” and “localized” date input formats).
Update: I forgot to add that you can pass
localize=Trueto your date widgets, and they are supposed to then always display dates in localized format. There are some examples of how to do this in this bug report.I just posted a message about the issue to django-developers mailing list.