Recentemente ho aggiunto un nuovo modello al mio sito e sto utilizzando un file admin.py per specificare esattamente come voglio che appaia nel sito di amministrazione. Funziona alla grande, ma non riesco a capire come ottenere uno dei miei campi data per includere secondi nel suo formato di visualizzazione. Sto vedendo solo valori come "27 agosto 2011, 12:12 pm" quando quello che voglio vedere è "27 agosto 2011, 12: 12 * : 37 * p.m."Nel sito di amministrazione Django, come posso cambiare il formato di visualizzazione dei campi temporali?
risposta
Prova questa nel ModelAdmin:
def time_seconds(self, obj):
return obj.timefield.strftime("%d %b %Y %H:%M:%S")
time_seconds.admin_order_field = 'timefield'
time_seconds.short_description = 'Precise Time'
list_display = ('id', 'time_seconds',)
Sostituzione "timeField" con il campo appropriato nel modello, naturalmente, e l'aggiunta di tutti gli altri campi necessari a "list_display".
scavando intorno ho finito qui ma applicato un approccio diverso alla mia app.
È possibile modificare i formati predefiniti di admin di django modificando i formati internazionali di django per ogni tipo desiderato.
Metti quanto segue sul tuo file admin.py (o settings.py) per cambiare il formato predefinito datetime sul tuo admin django.
from django.conf.locale.es import formats as es_formats
es_formats.DATETIME_FORMAT = "d M Y H:i:s"
Cambierà i formati datetime di ModelAdmin su quel file (o l'intero sito se nelle impostazioni).
Non si interrompe i filtri admin datetime e le funzionalità degli ordini come @Alan Illing ha sottolineato nei commenti.
speranza questo aiuto nel futuro
Info extra:
È possibile modificare per ogni locale disponibile in Django, che sono un sacco.
È possibile modificare i seguenti formati utilizzando questo approccio
from django.conf.locale.es import formats as es_formats
es_formats.DATETIME_FORMAT
es_formats.NUMBER_GROUPING
es_formats.DATETIME_INPUT_FORMATS
es_formats.SHORT_DATETIME_FORMAT
es_formats.DATE_FORMAT
es_formats.SHORT_DATE_FORMAT
es_formats.DATE_INPUT_FORMATS
es_formats.THOUSAND_SEPARATOR
es_formats.DECIMAL_SEPARATOR
es_formats.TIME_FORMAT
es_formats.FIRST_DAY_OF_WEEK
es_formats.YEAR_MONTH_FORMAT
es_formats.MONTH_DAY_FORMAT
Ricordati di cambiare il locale che usi effettivamente 'dai formati di importazione di django.conf.locale.en come en_formats' e poi di' en_formats.DATETIME_FORMAT = "dmY H: i: s" ' –
Just abriviating antkowcz answer: Per l'inglese:' da django.conf.locale.en formati di importazione come en_formats e poi en_formats.DATETIME_FORMAT = "dmY H: i: s" ' Per uso spagnolo:' da django.conf.locale.es formati di importazione come es_formats es_formats.DATETIME_FORMAT = "d MYH: i: s" ' e così via ...... –
Se hai provato la risposta di Gabriel, ma non funziona, tenta di impostare USE_L10N = False
in settings.py
, funziona per me.
Nota che se USE_L10N è impostato su True, quindi il formato dalla locale dettata ha più alta precedenza e sarà applicato al posto
See: https://docs.djangoproject.com/en/2.0/ref/settings/#std:setting-DATETIME_FORMAT
- 1. Campi di sola lettura nel formato django
- 2. Visualizzazione personalizzata Django nella pagina di amministrazione
- 3. Django admin: posso definire l'ordine dei campi?
- 4. Auto-popolando campo created_by con il sito di amministrazione Django
- 5. filtro predefinito nel sito di amministrazione
- 6. Django - Come spopolare i campi modulo di amministrazione
- 7. È possibile modificare il nome del modello nel sito di amministrazione di django?
- 8. L'amministratore di Django utilizza i nomi dei campi tradotti
- 9. Come proteggi il sito admin di django?
- 10. Come posso elencare tutti gli oggetti relativi a chiave esterna nel pannello di amministrazione di Django?
- 11. Come posso cambiare il formato di registrazione in Google AppEngine
- 12. Aggiunta della funzione password dimenticata al sito di amministrazione Django
- 13. Come cambiare il formato della data nel selettore data
- 14. Django - Escludendo alcuni campi nell'interfaccia di amministrazione Inline
- 15. Come posso abilitare in linea ManyToManyFields sul mio sito di amministrazione Django?
- 16. Visualizzazione video nel sito Web
- 17. Come pubblicare il sito di amministrazione NopCommerce e NopCommerce?
- 18. Conditional Django Middleware (o come escludere il sistema di amministrazione)
- 19. Django: utilizzo di ForeignKeyRawIdWidget all'esterno dei moduli di amministrazione
- 20. manipolazione dei dati nel pannello di amministrazione di Django su Save
- 21. Campi di accesso nel modello intermedio Django
- 22. Mostra righe figlio nell'interfaccia di amministrazione Django
- 23. Visualizzazione di Django e sito Webpack installato su LAN
- 24. Formato TimeField nel modello Django
- 25. lo strumento django-debug porta a un loop di reindirizzamento sul sito di amministrazione?
- 26. Sito di amministrazione Django: come creare una singola pagina per le impostazioni globali?
- 27. Posso aggiungere testo di aiuto nei campi del modello django
- 28. come cambiare il formato del cronometro?
- 29. Cambiare il nome della classe del modello in interfaccia di amministrazione Django
- 30. Cambio di password Django modulo di visualizzazione
fare le cose come questo rompe con l'amministratore automatica filtri. – donatello
Immagino che intendessi [strftime] (http://docs.python.org/3.3/library/time.html#time.strftime) – Martin
Esiste un modo per formattare il timestamp ma mantenere la funzionalità di ordinamento nell'amministratore? –