django-environ으로 민감 정보와 환경변수 안전하게 관리하기
django-environ을 활용해 개발/테스트/운영 환경별 설정과 SECRET_KEY, DB 접속 정보 등 민감 정보를 코드와 분리하여 보안성과 관리 효율성을 높이는 방법

환경변수 관리의 중요성
문제점
settings.py에 하드코딩 시 Git 저장소에 민감 정보 노출
환경별 설정 변경 시 코드 직접 수정 필요
팀원 합류 시 로컬 환경 설정 안내의 번거로움
해결 방법
Twelve-Factor App 원칙에 따른 설정과 코드의 완전 분리
django-environ을 통한 환경변수 기반 설정 관리
기본 설정 및 사용법
설치
.env 파일 생성
.gitignore 필수 추가
settings.py 적용
실무 활용 팁
협업을 위한 .env.example 파일
실제 값 대신 예시 값으로 구성
Git에 포함하여 필요한 환경변수 목록 공유
타입 캐스팅 활용
env.bool(): 불리언 변환env.int(): 정수 변환env.list(): 콤마 구분 리스트 변환env.json(): JSON 형식 변환
기본값 설정
Docker 환경 대응
로컬: .env 파일 활용
운영: 컨테이너 환경변수 직접 주입
시스템 환경변수가 .env 파일보다 우선 적용
보안 주의사항
SECRET_KEY 생성
Last updated
