C'è un modo ufficiale per farlo ora dalla chiusura di Django ticket 6483 & versione di Django 1.2.
Se avete USE_L10N
insieme a False
, cosa si dovrebbe fare è specificare l'DATE_INPUT_FORMATS
e DATETIME_INPUT_FORMATS
nel vostro settings.py
. Qui ci sono le impostazioni che uso per questo, in base convertendo i valori di default:
#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')
Se avete USE_L10N
insieme a True
, allora si avrà bisogno di utilizzare il FORMAT_MODULE_PATH
invece.
Ad esempio, il mio LANGUAGE_CODE
è impostato su en-au
, il mio sito si chiama golf
, e la mia FORMAT_MODULE_PATH
è impostato su golf.formats
, quindi la mia struttura di directory simile a questo:
golf/
settings.py
...
formats/
__init__.py
en/
__init__.py
formats.py
e le impostazioni DATE_INPUT_FORMATS
e DATETIME_INPUT_FORMATS
sono in formats.py
anziché settings.py
.
Ok, questa soluzione è carina, ma come posso usarla con AdminDateWidget? Questo Widget fa parte del mio MultiWidget. – alekwisnia