Как настроить часовой пояс Django-Admin?

#django #django-rest-framework

#django #django-rest-framework

Вопрос:

Я хочу показывать все поля даты и времени в базах данных в часовом поясе, отличном от часового пояса по умолчанию («UTC»), только для администратора. Я нашел несколько предложенных решений, которые в большей степени ориентированы на сохранение часовых поясов для каждого пользователя. Однако я ищу решение, которое решало проблему только для администратора. Любое предложение будет высоко оценено.

Ответ №1:

попробуйте это, где field_date — это поле, содержащее дату в вашей модели :

 import datetime
class MyModelAdmin(admin.ModelAdmin):
    list_display = ('show_admin_time',)
    def show_admin_time(self,request, obj):
        if request.user.is_superuser.field_date:
            formatfrom="%Y-%m-%dT%H:%M:%S 00:00"
            formatto="%a %d %b %Y, %H:%M:%S GMT"
            return datetime.datetime.strptime(obj.field_date,formatfrom).strftime(formatto)
        else:
            return obj.field_date

    show_admin_time.short_desc

description = 'time for admin'