본문 바로가기
Code/Python & Django

Django 데이터베이스 시간대 변경

by 코드포휴먼 2020. 5. 19.

모델을 정의하는 Field에서 auto_now 또는 auto_now_add 인자를 사용한다.

DB에서 해당 필드 값을 확인해보면 삽입된 데이터가 한국 시간과 맞지 않는 것을 확인할 수 있다.

이는 settings.py에서 아래의 두 가지 사항을 모두 적용해주면 데이터베이스의 시간대를 한국 시간으로 바꿀 수 있다.

  • TIME_ZONE = 'Asia/Seoul'
  • USE_TZ = False

USE_TZ=True라고 설정하면 장고가 알아서 시간대를 UTC(협정 세계시 시간)으로 조정한다.

즉, 화면에서 입력 받는 폼과 템플릿 처리 시에만 TIME_ZONE 항목에 설정한 시간대를 반영하고, DB에는 UTC로 데이터 입력 시간을 반영한다.

따라서 DB에도 설정해준 TIME_ZONE을 적용하고 싶다면 USE_TZ를 False로 설정해 주어야 한다.

추가로 LANGUAGE_CODE를 ko-kr로 바꾸면 어드민 페이지 언어도 한국어로 변경된다.

 


출처

장고 공식문서 https://docs.djangoproject.com/ko/3.0/topics/i18n/timezones/

댓글