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