Как изменить формат даты с год-месяц-дата на дата-месяц-год в интерфейсе Django Admin?

Я новичок в Django, поэтому любая помощь будет оценена по достоинству, У меня есть модель, которая содержит 3 поля, одно из них дата, я хочу изменить отображение даты в Django Admin (сейчас это 2022-05-20, но я хочу, чтобы это было 20-05-2022).

Как я могу это сделать, пожалуйста!

это мой models.py:

class reports(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    project_name = models.CharField(verbose_name="Project name", max_length=60)
    date = models.DateField(verbose_name="Date", default=date.today)
    def __str__(self):
        return str(self.user)

и это мой admin.py:

class reportsAdmin(admin.ModelAdmin):
    @admin.display(description='date')
    def admin_date(self, obj):
        return obj.date.strftime('%d-%m-%Y')

    list_display = ('user', 'project_name', 'admin_date')
admin.site.register(reports, reportsAdmin)

и в моем settings.py:

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = False
USE_TZ = True

но ничего не работает, все еще отображается в формате 2022-05-20(год-месяц-дата).

Мне нужно изменить формат даты, потому что мне нужно преобразовать html в pdf (xhtml2pdf) и отобразить все поля, включая дату, которая должна быть в формате дата-месяц-год. (которую я получу из таблицы моделей). Как я могу правильно изменить формат даты на date-month-year в Django admin????????

Ваш код действительно преобразует дату в нужный вам формат на странице списка, где отображаются все отчеты. Я не думаю, что то, что вы хотите, может быть достигнуто с помощью класса reportsAdmin. Что вам нужно, так это изменить элемент ввода, что, возможно, можно сделать, изменив шаблоны администратора. Но я не уверен, что это вообще можно сделать, потому что именно так работает ввод для дат.

Edit: Я нашел этот вопрос, в 3-м и 2-м ответах которого упоминаются некоторые способы, которыми можно добиться этого в HTML Есть ли способ изменить формат input type="date"?

Вернуться на верх