Saltar al contenido

En el sitio de administración de Django, ¿cómo cambio el formato de visualización de los campos de tiempo?

Solución:

Pruebe esto en 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', )

Reemplazando “timefield” con el campo apropiado en su modelo, por supuesto, y agregando cualquier otro campo necesario en “list_display”.

cavando terminé aquí, pero apliqué un enfoque diferente a mi aplicación.

El cambio de los formatos predeterminados de administración de django se puede hacer cambiando los formatos de configuración regional de django para cada tipo que desee.

Coloque lo siguiente en su archivo admin.py (o settings.py) para cambiar el formato predeterminado de fecha y hora en su administrador de django.

from django.conf.locale.es import formats as es_formats

es_formats.DATETIME_FORMAT = "d M Y H:i:s"

Cambiará los formatos de fecha y hora de ModelAdmin en ese archivo (o en todo el sitio si está en la configuración).

No rompe los filtros de fecha y hora del administrador y las funciones de orden como @Alan Illing ha señalado en los comentarios.

espero esta ayuda en el futuro


Información extra:

Puede cambiarlo para cada configuración regional disponible en django, que son muchas.

Puede cambiar los siguientes formatos usando este enfoque

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

Si ha probado la respuesta de Gabriel pero no funcionó, intente configurar USE_L10N = False en settings.py, esto funciona para mi.

Tenga en cuenta que si USE_L10N se establece en True, entonces el formato dictado por la configuración regional tiene mayor prioridad y se aplicará en su lugar

Ver: https://docs.djangoproject.com/en/2.0/ref/settings/#std:setting-DATETIME_FORMAT

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *