컴공생의 다이어리
[Django] 장고 TIME_ZONE, USE_TZ 설정 본문
(TIME_ZONE과 USE_TZ는 settings.py에서 수정하면 됨)
TIME_ZONE
원래 장고는 'UTC'라는 표준시에 맞춰져 있다. 이걸 서울을 기준으로 변경하려면 'Asia/Seoul'로 수정하면 된다.
USE_TZ
USE_TZ 변수 값 |
특성 |
False | 장고는 내부적으로 Naive datetime 객체를 사용한다. 즉 장고 개발 시 Naive datetime 객체를 사용해야 한다. (기준 시간대는 항상 TIME_ZONE) |
True | 장고는 내부적으로 Aware datetime 객체를 사용한다. 즉 장고 개발 시 Aware datetime 객체를 사용해야 한다. (기준 시간대를 명확히 지정해줘야 함) 폼에 입력된 날짜 값은 Current time zone으로 해석한 뒤 Aware datetime 객체로 변환되고, 템플릿에 렌더링할 때는 Aware datetime 객체를 Current time zone으로 변환한다. ※ 만약 Naive datetime 객체를 사용하면 어떻게 될까? 하위호환성을 위해 Naive datetime 객체를 사용해도 문제가 없도록 설계가 되어 있다. 데이터베이스에 저장될 때 Naive datetime 객체를 Aware datetime 객체로 변환하고, 경고만 띄워준다. 하지만 그것도 DST 등으로 인한 문제가 발생할 여지는 있기 때문에, 항상 Aware datetime 객체를 사용하는 게 안전하다. |
728x90
반응형
'Development > Python & Django' 카테고리의 다른 글
[파이썬, Python] BeautifulSoup으로 크롤링(crawling)(1) - find(), find_all(), .string, get_text() (2) | 2021.05.28 |
---|---|
[Django] 장고 모델(model) 수정시 - makemigrations, migrate (0) | 2021.05.25 |
[Django] 장고 데이터베이스 생성(python manage.py migrate) (0) | 2021.05.23 |
[파이썬, Python] 크롤링(crawling) 가능 여부 확인 - robots.txt (0) | 2021.05.21 |
[Django] 장고 앱 생성(django-admin startapp ~)과 실행 (0) | 2021.05.18 |
Comments