오늘의 학습 계획
_AI docs에 있는 장고심화 체크리스트 점검하며 공부
_장고심화 진도표 확인하며 프로젝트 만들어나가기
기록하고 싶은 학습내용
_django 시크릿키 숨기기
1. pip install django-environ
2. 루트 프로젝트와 같은 위치에 .env파일 만들기
3. 키=밸류 형태로 .env에 들어가는 변수를 적기.
SECRET_KEY="내 장고시크릿키"
4. settings.py에서
이거 아래에 요런 내용 추가
import os
import environ
env = environ.Env(
DEBUG=(bool, False)
)
environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
굳이 저 아래에 쓰는 이유는, 위에 BASE_DIR 어쩌구가 최상위 디렉토리를 정의하는 변수이기 때문이다.
파이썬은 스크립트를 위에서부터 읽어 내려오기 때문에 BASE_DIR 선언보다 위에다 추가하면
(os.path.join(BASE_DIR, '.env')) 이 부분의 BASE_DIR에 노란 줄이 경고로 뜨게 된다.
5. 마지막으로 settings.py에 노출된 시크릿키가 있던 부분으로 돌아가서 아래처럼 바꿔준다. 끝.
SECRET_KEY = env('SECRET_KEY')
오늘 만난 어려움
문제:
django심화 개인과제 중... 초기 세팅 끝내고... models.py 데이터 ORM 하고...
어드민 페이지에 들어가면 이상한 오류가 나는 것...?
시도:
GPT에 쳐 보니,, 클라이언트가 아닌 서버의 문제라고 django 프로젝트의 로그를 확인하라고 한다. 후에 알고 보니 이 로그가 터미널 기록이었다. 이 오류 메시지의 원인은 다양한 짐작이 가능한데, DB 연결 오류, 잘못된 URL 패턴, 누락된 모듈 등 이라고 함.
해결:
튜터님께 가서 여쭤봤더니 에러메시지를 함께 보자고 하셨다
No time zone found with key Asia-Seoul...
ㅋㅋㅋ 왜 난 이걸 못보았는가... 난 언젠가부터 에러메시지를 읽을 때, 위에 trace back 부터 읽어야 하는 줄 알았다.
settings.py 에서 타임 존을 손 댔는데, 이게 이렇게 쓰면 안된다고 한다.
Asia/Seoul 이렇게 써야 한다고 함 ㅎㅎ.
수정했더니 바로 작동!
포항항항
알게된점:
문제가 생기면 에러메시지도 꼭 살펴 보자! (밑에서부터!)
'About coding > Today I learned' 카테고리의 다른 글
2023년 05월 1일 TIL [#AWS 결제수단 변경] (0) | 2023.05.02 |
---|---|
2023년 04월 28일 TIL [#postman설치오류] (0) | 2023.04.28 |
2023년 04월 26일 TIL [#models.py #makemigrations #migrate #admin.py #createsuperuser] (0) | 2023.04.27 |
2023년 04월 25일 TIL [#faker모듈] (0) | 2023.04.26 |
2023년 04월 24일 TIL [#django프로젝트세팅 #DRF프로젝트세팅 #git커밋메시지컨벤션] (1) | 2023.04.26 |