Nella mia applicazione Django ricevo volte da un webservice, fornito come una stringa, che uso nei miei modelli:formattazione volte data prevista come stringhe in Django
{{date.string}}
Questo mi dà una data come ad esempio:
2009-06-11 17:02:09+0000
Questi sono ovviamente un po 'brutti, e mi piacerebbe presentarli in un bel formato per i miei utenti. Django ha una grande costruito in data formattatore, che avrebbe fatto esattamente quello che volevo:
{{ value|date:"D d M Y" }}
Tuttavia, questo si aspetta che il valore da fornire come un oggetto data, e non una stringa. Quindi non posso formattare usando questo. Dopo aver cercato qui su StackOverflow pythons sembra che lo strptime faccia quello che voglio, ma essendo abbastanza nuovo per Python mi chiedevo se qualcuno potesse trovare un modo più semplice per ottenere la formattazione della data usando le stringhe, senza dover ricorrere alla scrittura di un intero nuovo custom time tag modello?
+1 Mantenere l'elaborazione dei dati nella vista, non nel modello. – krubo
Si potrebbe obiettare che dal momento che si sta formattando la data, sarebbe opportuno farlo nel livello di presentazione (es. Template) – btk
Mi piace mantenere i miei "contesti" json-able, dal momento che questo mi permette di restituirli anche come risposte REST. Python datetime non è json-serializable, quindi preferirei fare la conversione nel template. Immagino che questo possa essere ottenuto usando un templatetag. –