Как изменить формат даты с год-месяц-дата на дата-месяц-год в интерфейсе 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"?