컴공생의 다이어리

[Django] 장고 TIME_ZONE, USE_TZ 설정 본문

Development/Python & Django

[Django] 장고 TIME_ZONE, USE_TZ 설정

컴공 K 2021. 5. 24. 00:01

(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 객체를 사용하는 게 안전하다.

 

 

 

hasiki.tistory.com/49

 

Django-한국시간 설정

Django(이하 장고)에서 기본 Time Zone은 UTC이다.. UTC는 협정세계 시간으로 국제 표준시간이라 보면 된다. 국제 표준시간으로 한국 시간을 보면 시차는 +9:00이다.. 한국 시간이 오후 5:32분이면 국제 표

hasiki.tistory.com

it-eldorado.tistory.com/13

 

[Django] TIME_ZONE, USE_TZ 설정

장고의 설정 파일에는 시간대(EX. 대한민국 시간대, UTC 세계 표준시 등)와 관련한 설정을 할 수 있는 대표적인 변수로서 TIME_ZONE과 USE_TZ가 존재한다. 이 값들을 어떻게 설정하느냐에 따라서 장고

it-eldorado.tistory.com

728x90
Comments