Ho impostato correttamente L10N sul mio progetto e sono in grado di tradurre le date nel formato corretto. Ma ora ho bisogno dello SHORT_DATE_FORMAT
per le impostazioni internazionali correnti sui miei modelli o in un context_processor.Come ottenere "short_date_format" delle impostazioni locali correnti su django?
Ottenendo da django.conf.settings
sempre mi dà il valore predefinito, m/d/Y
. L'impostazione internazionale era attualmente impostata su pt_BR
, pertanto il formato deve essere d/m/Y
.
In [42]: settings.LANGUAGE_CODE
Out[42]: 'pt-br'
In [43]: settings.USE_L10N
Out[43]: True
In [44]: settings.SHORT_DATE_FORMAT
Out[44]: 'm/d/Y'
Eventuali indizi?
A proposito, quello che sto provando a fare è: ottenere il formato della locale corrente in modo da poterlo passare al plugin bootstrap-datepicker. Attualmente sta usando m/d/Y
e django sta dando una data nel formato d/m/Y
.
Stai usando l'impostazione LANGUAGE_CODE dal modulo delle impostazioni che la rende non dinamica (è il codice lingua predefinito usato quando Django non può determinarlo in un altro modo). In una vista puoi utilizzare request.LANGUAGE_CODE. Altrimenti django.utils.translation.get_language() – bambata