Работа с часовым поясом в Джанго - Лучшие практики - PullRequest
0 голосов
/ 23 октября 2019

Мне бы хотелось узнать ваше мнение о методах, которые я использую для работы с часовым поясом, как показано ниже. Правильно? Стоит ли беспокоиться о каких-либо дополнительных деталях?

Каждый клиент / пользователь системы находится в регионе с разным временем, поэтому я вставил в модель запись, которая идентифицирует регион:

Вмодель:

TIMEZONES = tuple(zip(pytz.all_timezones, pytz.all_timezones))
timezone = models.CharField (
    null = False,
    blank = False,
    max_length = 32,
    choices = TIMEZONES,
    default = 'UTC',
    verbose_name = "timezone",
    help_text = "Timezone"
)

Когда пользователь входит в систему, переменная TIME_ZONE settings.py изменяется в соответствии с часовым поясом вошедшего в систему пользователя:

При входе в систему:

from django.conf import settings
settings.TIME_ZONE = timezone

Когда я делаю запрос курсора, я использую часовой пояс, как в settings.py:

В запросе:

from django.conf import settings
timezone = settings.TIME_ZONE
query = "" "
    SET TIMEZONE = '{}';
    ...
"" ".format (timezone)

В шаблонах я включаю часовой пояс:

В шаблонах:

...
{% load tz%}
...
{% localtime on%}
...
{% endlocaltime%}

Надеюсь, я был понятен в презентации выше. Если вам нужна дополнительная информация, я могу предоставить.

Спасибо, что поделились своим опытом.

...