Admin DateField doesn't support all DATE_INPUT_FORMATS
|Reported by:||Patrick Dwyer <pat@…>||Owned by:||nobody|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
According to the documentation formats listed at http://docs.python.org/library/datetime.html#strftime-strptime-behavior are supported as DATE_INPUT_FORMATS. I have started using the date format "Thu 17 Jul 2014" represented by '%a %d %b %Y' as my DATE_FORMAT and the first listed DATE_INPUT_FORMAT but I am having issues on admin pages. The date picker calendar popups don't work correctly.
On initial page load the date is formatted correctly. When selecting the 17th of July 2014 from the calendar instead of getting "Thu 17 Jul 2014" the field is populated with "undefined 17 undefined 2014".
Looking at the code in admin/static/js/core.js these are the supported format characters...
c: this.toString(), d: this.getTwoDigitDate(), H: this.getTwoDigitHour(), I: this.getTwoDigitTwelveHour(), m: this.getTwoDigitMonth(), M: this.getTwoDigitMinute(), p: (this.getHours() >= 12) ? 'PM' : 'AM', S: this.getTwoDigitSecond(), w: '0' + this.getDay(), x: this.toLocaleDateString(), X: this.toLocaleTimeString(), y: ('' + this.getFullYear()).substr(2, 4), Y: '' + this.getFullYear(), '%' : '%'
I think an "almost core" part of Django like admin should support what is documented or the documentation should be updated to reflect the actual behaviour.
I'm writing a simple fix for my own use. Although I'd be happy to start working on a real fix but don't want to waste time if this won't be considered.
Change History (4)
comment:1 Changed 2 years ago by patros
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset