Hay una manera oficial de hacer esto ahora desde el cierre de Django ticket 6483 & lanzamiento de Django 1.2.
Si tiene USE_L10N
conjunto de False
, lo que debe hacer es especificar el DATE_INPUT_FORMATS
y DATETIME_INPUT_FORMATS
en su settings.py
. Éstos son los ajustes que utilizo para esto, a partir de la conversión de los valores por defecto:
#dd/mm/yyyy and dd/mm/yy date & datetime input field settings
DATE_INPUT_FORMATS = ('%d-%m-%Y', '%d/%m/%Y', '%d/%m/%y', '%d %b %Y',
'%d %b, %Y', '%d %b %Y', '%d %b, %Y', '%d %B, %Y',
'%d %B %Y')
DATETIME_INPUT_FORMATS = ('%d/%m/%Y %H:%M:%S', '%d/%m/%Y %H:%M', '%d/%m/%Y',
'%d/%m/%y %H:%M:%S', '%d/%m/%y %H:%M', '%d/%m/%y',
'%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d')
Si tiene USE_L10N
conjunto de True
, entonces usted tendrá que utilizar el FORMAT_MODULE_PATH
lugar.
Por ejemplo, mi LANGUAGE_CODE
se establece en en-au
, mi sitio se llama golf
, y mi FORMAT_MODULE_PATH
se establece en golf.formats
, por lo que mi estructura de directorios es el siguiente:
golf/
settings.py
...
formats/
__init__.py
en/
__init__.py
formats.py
y la configuración DATE_INPUT_FORMATS
y DATETIME_INPUT_FORMATS
son en formats.py
en lugar de settings.py
.
Ok, esta solución es buena, pero ¿cómo puedo usarla con AdminDateWidget? Este widget es parte de mi MultiWidget. – alekwisnia