My Image

Django 포스팅

[Django] .env 설치하고 .gitignore로 중요파일 숨기기

Doyeon0430 | 2023년 06월 01일

Django 이미지

이번시간에는 깃허브에 업로드 할 때 settings.py에 데이터베이스 코드와

SECRET_KEY를 숨길수 있도록 .env를 설치하겠습니다.

이 설정을 안해놓으시면 웹페이지 보안이 깃허브에 유출돼서 해킹당하실 수 있습니다.

그럼 .env과 .gitignore를 추가하고 설정하는 법을 알려드리겠습니다.

 

  1. Django 깃허브에 파일 숨기기 - .env 설치
  2. Django 깃허브에 파일 숨기기 - .gitignore에 추가
  3. Django 깃허브에 파일 숨기기 - 깃허브 결과

 

 

1. Django 깃허브에 파일 숨기기 - .env 설치

Django에서 제공하는 .env 패키지로 명령어 창에서 쉽게 다운받을 수 있습니다.

 

1. cmd

pip install django-environ

 

2. settings.py

import os, environ
env = environ.Env()
environ.Env.read_env()

SECRET_KEY = env('SECRET_KEY')

Django에서는 SECRET_KEY를 숨기는 걸 권장하고 있습니다.

실제 몇몇 커뮤니티를 봤을 때 숨기는 사례가 많습니다.

 

3. settings.py

import os, environ
env = environ.Env()
environ.Env.read_env()

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': env("DB_NAME"),
        'USER': env("DB_USER"),
        'PASSWORD': env("DB_PASSWORD"),
        'HOST': env("DB_HOST"),
        'PORT': env("DB_PORT"),
    }
}

숨기고싶은 데이터베이스 정보들을 env("이름")으로 묶어주세요.

 

4. .env 파일 생성

SECRET_KEY= #해당 값을 입력
DB_NAME= #해당 값을 입력
DB_USER= #해당 값을 입력
DB_PASSWORD= #해당 값을 입력
DB_HOST= #해당 값을 입력
DB_PORT= #해당 값을 입력

파일을 새로 생성하고 데이터베이스 설정에 맞게 입력할 수 있습니다.

 

5. 경로 위치

myproject/
    manage.py
    myproject/
        .env
        settings.py
        urls.py
        ...
    myapp/
        models.py
        views.py
    ...

경로는 settings.py와 .env가 같은 위치에 있어야 적용됩니다.

이렇게 Django에서 .env 패키지 설치를 해보며 settings.py까지 설정해봤습니다.

다음으로 .gitignore로 가서 파일을 추가하겠습니다.

 

 

2. Django 깃허브에 파일 숨기기 - .gitignore에 추가

gitignore는 깃허브에 파일을 업로드할 때 제외시킬 수 있는 도구입니다.

저는 media나 cache같이 수시로 바뀌는 값들을 넣어줬습니다.

 

1. .gitignore 파일 생성

.env
media

내부 파일에 .env를 입력하시면 됩니다.

 

2. 경로 위치

myproject/
    .gitignore
    manage.py
    myproject/
        .env
        settings.py
        urls.py
        ...
    myapp/
        models.py
        views.py
    ...

.gitignore는 git 파일과 같은 위치인 최상단 디렉토리에 있어야 적용됩니다.

Django 기준으로 프로젝트 바로 밑이에요.

 

 

3. Django 깃허브에 파일 숨기기 - 깃허브 결과

깃허브 이미지

.gitignore.env파일을 추가하니 깃허브에 업로드 안된 것을 확인할 수 있습니다.

마지막으로 git pull을 하는 서버로 가서 방금 입력하셨던 .env을 파일을 추가하면 정상적으로 홈페이지가 작동됩니다.

글을 마치며 .env로 데이터베이스 값과 SECRET_KEY를 숨기고 해킹으로부터 지키는 방법에 대해 알아보았습니다.

댓글 (0)

    댓글이 없습니다.

간편 댓글 작성

My Image My Image My Image My Image