본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

[Django] 프로젝트에서 .env 파일을 사용해 환경변수 관리하는 방법

by easyfly 2025. 5. 1.
반응형

장고 프로젝트에서 .env 파일을 사용해 환경변수 관리하는 방법


Django 프로젝트에 .env 파일 적용하는 방법

1단계. python-dotenv 설치

.env 파일을 읽으려면 라이브러리가 필요합니다.
아래 명령어로 설치하세요.

pip install python-dotenv

※ 가상환경(venv)을 사용 중이라면, 가상환경 안에서 설치합니다.


2단계. 프로젝트 루트 폴더에 .env 파일 만들기

manage.py 파일이 있는 위치에 .env 파일을 새로 만듭니다.
(파일 이름은 .env, 확장자 없습니다.)

.env 파일 내용 예시

# Django secret key
DJANGO_SECRET_KEY=django-insecure-5vsg...

# OpenAI API key
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxx

✅ 포맷 주의:

  • 키=값 형식
  • 따옴표 " 나 ' 필요 없습니다.
  • 띄어쓰기하지 마세요.

3단계. settings.py에서 .env 파일 불러오기

settings.py 맨 위에 다음 코드를 추가합니다:

from pathlib import Path
from dotenv import load_dotenv
import os

# BASE_DIR는 이미 있을 겁니다.
BASE_DIR = Path(__file__).resolve().parent.parent

# .env 파일을 로드합니다.
load_dotenv(os.path.join(BASE_DIR, '.env'))

# 이제 환경변수를 사용해서 설정
SECRET_KEY = os.getenv('DJANGO_SECRET_KEY')
OPENAI_API_KEY = os.getenv('OPENAI_API_KEY')

✅ load_dotenv()가 .env 파일을 읽어서, os.getenv()로 불러올 수 있게 해 줍니다.


4단계. .env 파일은 Git에 올리지 않기

.gitignore 파일에 .env를 추가해 주세요.
그래야 깃허브에 올릴 때 비밀정보가 유출되지 않습니다.

.gitignore에 추가할 내용

.env

최종 구조 예시

myproject/
│
├── manage.py
├── myproject/
│   ├── __init__.py
│   ├── settings.py   # 여기서 load_dotenv로 읽음
│   ├── urls.py
│   └── wsgi.py
│
├── app1/
│   └── ...
│
├── .env              # 시크릿 키, API 키 저장
├── db.sqlite3
└── requirements.txt

요약

단계 설명

1 pip install python-dotenv 설치
2 프로젝트 루트에 .env 파일 작성
3 settings.py에서 load_dotenv() 호출
4 SECRET_KEY, OPENAI_API_KEY를 os.getenv()로 불러오기
5 .env 파일을 .gitignore에 추가

추가 팁

  • .env 파일을 수정한 경우, Django 서버를 다시 시작해야 적용됩니다.
  • 실수로 .env 파일을 깃에 커밋했다면 즉시 키를 변경하고 삭제하는 것이 안전합니다.
반응형

댓글