이 질문이 반복된다는 사실에 무감각하지만, 아쉽게도 답을 찾을 수 없습니다.
내 인상은 Django가 이미 서버 시간을 로컬 사용자로 변환하는 한
TIME_ZONE = 'UTC'
USE_TZ = True
내 설정에서.
db가 postgresql 이면 설정도 중요하지 않으며 모든 것이 여전히 변환됩니다.
그러나 나는 모든 다음을 시도했다.
{% load tz %}
{{ obj.date }}
{{ obj.date|localtime }}
{{ obj.date | timezone:"Canada/Mountain" }}
마지막 하나만 작동하고 나머지는 UTC 시간을 제공합니다. 마지막 시간은 해당 영역의 사용자에게만 정확하기 때문에 유용하지 않습니다.
여기에 빠진 것이 있는지 궁금합니다.
매우 간단한 테스트 모델이 있습니다.
class TimeObject(models.Model):
date = models.DateTimeField(auto_now=True)
내 인상은 Django가 이미 서버 시간을 로컬로 변환한다는 것입니다.
불행히도 그것은 올바르지 않습니다.
여기 에서 설명했듯이 사용자의 시간대를 자동으로 알 수있는 방법은 없습니다. 다른 방법으로 알아 내야합니다 (예 : 사용자 설정으로 저장할 수 있음). 그런 다음 activate()
해당 시간대 가 필요 합니다. 그러면 Django가 변환을 수행합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다