Сейчас я прохожу процесс информирования о часовом поясе приложения django. Первоначально параметр TIME_ZONE
был установлен на "America / Los_Angeles", но я решил, что, вероятно, более стандартно сделать его "UTC".
Я обнаружил некоторое непреднамеренное поведение, когда рендерил datetime
на веб-страницу в Javascript, например (start_date
- это наивный datetime
, который я определил ранее в представлении):
представление django: cal_start_date = time.mktime(start_date.timetuple())
js: startDate = new Date(response.cal_start_date * 1000)
В зависимости от TIME_ZONE
, которое я установил в settings.py, я получаю другую метку времени для cal_start_date
, что понятно: метод time.mktime
возвращает число с плавающей запятой, представляющее количество секунд с начала эпохи (01.01.1970). Однако количество секунд с начала эпохи зависит от часового пояса, о котором мы говорим. Я считаю, что time.mktime
автоматически принимает параметр TIME_ZONE
как тот, который нужно использовать для этой справки, верно?
В общем, не является ли изменение настройки django TIME_ZONE
плохой практикой?