Настройка: несколько сайтов в Django на одном наборе серверов, обслуживаемых одной и той же группой процессов Apache. Некоторые сайты восточной TZ; некоторые центральные. База данных PSQL работает на отдельном сервере.
Когда я начинал, я не особо задумывался о том, как различные сайты будут обрабатывать часовые пояса; Думаю, я видел настройку TIMEZONE в Django и просто подумал, что она «справится». Теперь я вижу трещины.
Первая проблема: часовой пояс, кажется, переворачивается между Восточным и Центральным. Насколько я понимаю, благодаря поиску на этом сайте, это происходит потому, что среда os для TZ настроена на процесс Apache, в зависимости от того, для какого сайта Django он обрабатывает запрос, и если этот процесс обрабатывает запрос для сайта на другом Т.З. часовой пояс неправильный. Я считаю, что решение, которое я нашел здесь, состояло в том, что сайты разных часовых поясов должны обслуживать разные группы процессов. Пожалуйста, исправьте, если ошиблись.
Вторая проблема: локально в Linux, я сделал ./manage.py runserver с одного из моих сайтов с центральным временем (я на востоке). Я создал ресурс, дата публикации которого правильно отображается в админской панели на один час позже. Если посмотреть на фактическую запись PostgresSQL, часовой пояс даты публикации по-прежнему указан как -04. Использует ли Postgres часовой пояс самого сервера / компьютера и игнорирует настройки TZ в Django? Таким образом, все записи, сохраненные на сервере Postgres по восточному времени, будут отображаться как -04 или -05 в зависимости от перехода на летнее время?
Если кто-то еще имел дело с чем-то вроде этого, совет приветствуется. Даже если я разделю процессы Apache для центральных сайтов таким образом, что их настройки TZ не пересекаются, у меня все еще остается проблема Postgres, с которой приходится иметь дело. И тогда мне любопытно; если отметка времени PSQL является центральной, а настройка TZ - восточной, скажем, поля даты и времени учитывают TZ? то есть, если вы выполняете datetime.datetime.now (), когда Django установлен в EST, и он возвращает 14:00, тогда у вас есть фильтр для контента по дате публикации, которая меньше этого результата, будет ли он учитывать TZ ищите контент, время публикации которого было 13:00 CST или раньше?