<aside> 👉 해당 챕터는 21년 3월에 녹화한 MBIT 강의와 동일한 내용이어서 MBIT 영상을 그대로 활용하겠습니다. 문서를 보실 때에는 폴더명에 유의해주세요.
</aside>
프로젝트의 settings.py
파일에 보면 SECRET_KEY
와 DEBUG
변수가 있습니다.
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '%ljvk*h2sno=wepa5p)dt+c6gtq44@fn^cl=7&+8ypc)k4xe16'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
SECRET_KEY
: 프로젝트의 보안 등에 이용되는 긴 랜덤 문자열 값입니다. 보안과 관련되어 있으므로 외부에 노출되어서는 안 됩니다.DEBUT
: 이 값이 True
이면 개발 단계에서 개발자를 위해 도와주는 디버그 정보가 보여지게 됩니다. 하지만 배포 시에는 프로젝트 보안 상 디버그 정보가 노출 되어서는 안 됩니다.컨테이너의 설정으로 들어갑니다. 컨테이너 목록에서 톱니바퀴 아이콘을 누르거나, IDE 실행 화면에서 오른쪽 상단의 컨테이너 정보
를 통해 들어갈 수 있습니다.
다음과 같이 환경 변수를 등록합니다.
settings.py
에서 이 환경 변수들을 사용하여 SECRET_KEY
와 DEBUG
값을 정의합니다. 환경 변수의 값들은 os 모듈의 environ을 통해 접근할 수 있습니다.
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = os.environ['SECRET_KEY']
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True if os.environ['DEBUG'] == 'True' else False
환경변수 값들은 모두 문자열로 저장되기 때문에 True
를 넣더라도 bool
타입의 True
가 아니라 문자열 'True'
인 것에 유의하세요.
장고의 runserver
명령을 통해 프로젝트를 실행하였지만, 이는 개발용으로 임시로 쓰는 서버로 실제 배포할 때에는 적합하지 않습니다. 그래서 뒤에 설명될 웹서버라는 것을 사용합니다. 하지만 웹서버를 사용하면 이제 앱마다 가지고 있는 static 파일에 접근하는 django 서버의 기능을 사용하지 못합니다. 그래서 앱 마다 나뉘어져 있는 static 파일들을 한 곳에 모으는 과정이 필요한데 이를 해주는 명령어가 collectstatic
입니다.
settings.py에서 STATIC_ROOT
변수에 static 파일들을 모을 경로를 설정합니다.
STATIC_ROOT = BASE_DIR / 'staticfiles'
BASE_DIR
은 프로젝트 생성 시 자동으로 만들어 준 경로값으로 manage.py
가 있는 경로를 가리킵니다. 우리는 BASE_DIR
경로의 staticfiles
라는 폴더에 static 파일들을 모을 것입니다.
collectstatic
명령어로 static 파일들을 모읍니다.
$ python manage.py collectstatic
그러면 해당 경로에 staticfiles
라는 폴더가 생성되고 안에 static 파일들이 모인 것을 확인할 수 있습니다.