首页 > 解决方案 > 如何在 django 管理面板中使用 django-auditlog 更改存储记录中的 tz

问题描述

我正在使用django-auditlog库来存储关于我的一些模型的审计日志。

我注意到,尽管我已经在settings.py包含类型字段的所有模型中定义了时区,但DateTimeField我在日志条目部分的管理面板中以 UTC 时间存储。

这是我settings.py关于时间和时区配置的部分:

USE_L10N = True
TIME_ZONE = 'Europe/Athens'
USE_TZ = True

怎么做才能使日志审核记录位于我定义的时区而不是 UTC 中?

标签: djangoaudit-loggingdjango-auditlog

解决方案


我终于找到了我正在寻找的解决方案。

settings.py我必须声明以下内容:

TIME_ZONE = 'Europe/Athens'
USE_L10N = True
USE_TZ = False
class TimezoneMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response
    def __call__(self, request):
        timezone.activate(pytz.timezone('Europe/Athens'))
        return self.get_response(request)

推荐阅读