ifequal - python datetime format
En el sitio de administración de Django, ¿cómo cambio el formato de visualización de los campos de tiempo? (3)
Recientemente agregué un nuevo modelo a mi sitio y estoy usando un archivo admin.py para especificar exactamente cómo quiero que aparezca en el sitio de administración. Funciona muy bien, pero no puedo averiguar cómo obtener uno de mis campos de fecha para incluir segundos en su formato de visualización. Solo veo valores como "27 de agosto de 2011, 12:12 pm" cuando lo que quiero ver es "27 de agosto de 2011, 12: 12 * : 37 * pm"
Prueba esto en el 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 "campo de tiempo" con el campo apropiado en su modelo, por supuesto, y agregando cualquier otro campo necesario en "list_display".
Si has probado la respuesta de gabriel pero no funciona, intenta establecer USE_L10N = False
en settings.py
, funciona para mí.
Tenga en cuenta que si USE_L10N se establece en Verdadero, entonces el formato dictado por el local tiene una mayor prioridad y se aplicará en su lugar
Consulte: https://docs.djangoproject.com/en/2.0/ref/settings/#std:setting-DATETIME_FORMAT
cavando alrededor terminé aquí, pero apliqué un enfoque diferente a mi aplicación.
El cambio de los formatos predeterminados de administración de django se podría hacer cambiando los formatos de la configuración regional de django para cada tipo que desee.
Ponga lo siguiente en su archivo admin.py (o settings.py) para cambiar el formato predeterminado de datetime 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 todo el sitio si está en la configuración).
No rompe los filtros de fecha y hora de administración y las características de orden como @Alan Illing ha señalado en los comentarios.
Espero que esta ayuda en el futuro.
Información extra:
Puedes cambiarlo para cada locale disponible en django, que son muchos.
Puede cambiar los siguientes formatos utilizando 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