Как избавиться от pytz UnknownTimeZoneError в журналах Django?
Я развернул приложение Django на Windows Server 2022, и журналы ошибок заполнены следующим сообщением:
pytz.exceptions.UnknownTimeZoneError: 'Europe/Paris'\r, referer: https://my_server_url
During handling of the above exception, another exception occurred
Я проверил свою установку pytz и, похоже, она работает нормально :
# run Windows cmd as Apache service account
python manage.py shell
from django.conf import settings
import pytz
pytz.timezone(settings.TIME_ZONE)
<DstTzInfo 'Europe/Paris' LMT+0:09:00 STD>
settings.TIME_ZONE in pytz.all_timezones
True
Я пытался удалить и переустановить мое виртуальное окружение и обновить/обновить pytz, без успеха.
Я не имею представления о том, как исследовать эту проблему дальше и как ее решить.
Вот настройка приложения :
Apache 2.4.52 (built from sources)
Python 3.10.4
Mod_wsgi 4.9.0
Django 3.2.9
pytz 2021.3
Edit 1.
Вот соответствующие настройки Django (я в основном использую настройки по умолчанию):
TIME_ZONE = 'Europe/Paris'
USE_TZ = False
Edit 2.
Вот полный отслеживание ошибки.
Вы можете попробовать следующее решение: Stack Overflow post.
Вы также можете попробовать другие решения из этого сообщения, особенно pip install tzdata одно.
Django 4 отключает часовые пояса по умолчанию. Согласно this, вы должны установить USE_TZ в True, чтобы включить его. Django 5 будет включать его по умолчанию. Смотрите также USE_TZ для получения дополнительной информации об этой настройке и ссылок на связанные настройки.
Вы используете формат часового пояса linux на сервере Windows. Вот отображение