[강의 공부] 4. .gitignore 및 .env 파일 추가 (간단한 환경변수 세팅)

단간단간·2024년 4월 11일
0
post-thumbnail

.gitignore 파일 만들기

.gitignore 란?

  • 버전 관리 시스템에서 특정 파일이나 디렉토리를 무시하게 하여 이들이 git 저장소에 추적되지 않도록 하는 것
  • 불필요한 파일들이 저장소에 포함되는 것을 방지한다.
  • 민감한 정보가 외부에 유출되는 것을 막을 수 있다.

.gitignore 파일 만들기

프로젝트 디렉토리(루트 디렉토리) 바로 하위에 .gitignore 파일을 생성한다.

gitignore 링크의 코드를 복사 붙여넣기 한다.
: 해당 내용은 git 저장소에 추적되지 않아도 좋을 만한 (권장되는) 소스 코드들이 있다.

추가로 아래 내용을 추가하여, 가상환경 디렉토리(venv/) 및 환경변수(.env)등등 추적되지 않도록 설정했다. 환경변수 파일(.env)에는 외부에는 노출되면 안되는 민감한 정보가 담겨 있다. 아래에서 다시 다룰 예정이다.

# .gitignore 파일 내부

venv/
.env
db.sqlite3
.idea/

.env 파일 만들기

.env 란?

  • 환경변수를 저장하기 위해 사용한다.
  • 애플리케이션의 구성 정보를 포함하는데, 특히 다양한 환경(상용, 테스트)에서 실행될 때 중요한 역할을 한다.
  • 외부에 노출 되면 안되는 정보들도 포함될 수 있으므로 .gitignore.env을 추가하는 것이 일반적이다.

.env 파일 만들기

프로젝트 디렉토리(루트 디렉토리) 바로 하위에 .env 파일을 생성한다.

.env 파일에 추가되는 내용 예시 (참고 링크)

DEBUG=on
SECRET_KEY=your-secret-key
DATABASE_URL=psql://user:un-githubbedpassword@127.0.0.1:8458/database
SQLITE_URL=sqlite:///my-local-sqlite.db
CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213
REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient&password=ungithubbed-secret

django-environ 라이브러리 이용해서 .env 파일의 환경변수 사용하기

django에는 django-environ 라이브러리가 있는데, 이걸 사용하면 .env 파일에서 관리하는 환경변수를 손쉽게 가져다가 사용할 수 있다.

1. django-environ 설치

$ pip install django-environ

2. setting.py 파일 설정

import environ
import os


# env 변수에 환경변수를 담을 예정. 초기 세팅값으로 선언해주는 단계로 보면 됨
env = environ.Env(
    DEBUG=(bool, False)
)

# 해당 파일의 상위 디렉토리의 상위 디렉토리에 대한 절대 경로. 즉, 프로젝트 루트 디렉토리의 절대 경로를 의미
BASE_DIR = Path(__file__).resolve().parent.parent

# reading .env file
# BASE_DIR 경로에 있는 .env 파일을 읽어와서 env 변수에 담는다.
environ.Env.read_env(
    env_file=os.path.join(BASE_DIR, '.env')
)

# 위의 과정을 거치면, env변수에 .env 환경변수 값이 담기게 되며 아래와 같이 사용할 수 있다.
SECRET_KEY = env('SECRET_KEY')
profile
simple is best

0개의 댓글