-
Notifications
You must be signed in to change notification settings - Fork 5
settings.py
이 프로젝트에는 dmoj/settings.py
와 dmoj/local_settings.py
가 있다.
dmoj/settings.py
는 기본적으로 필요한 설정이 작성되어있으므로settings.py
를 잘 모르면 건드리지 말 것.
이 문서는 local_settings.py
에 대한 내용을 기술할 것이다. 따라서 앞으로 말할 settings
는 local_settings.py
를 의미한다.
local_settings.py
는 로드 순서가 settings.py
가 나중에 있어서, 변수가 오버로딩 되는 것에 주의해야 한다.
이름 앞에 *이름
으로 표시된 변수는 필수항목이다.
다음과 같이 사용된다.
DEBUG=True
디버깅 모드로 어플리케이션을 구동하고 싶다면 True
를, 아니라면 False
를 대입한다.
Django에서 어떤 app을 사용하려할 때, Django core가 알 수 있도록 app을 등록하는 용도로 사용된다.
주로 Third-party를 사용하면 이 변수를 수정한다.
사이트의 static
파일들이 저장될 디렉토리를 지정한다.
python manage.py collectstatics
를 할 때, 이 변수를 확인한다.
여러 개의 ('<user name>', '<user email>')
를 가진 tuple로 구성된다.
서버에서 보고할만한 오류(이슈)가 발생하면 등록된 이메일 계정으로 오류 메시지를 발송해준다.
메일 서버를 먼저 등록해야 하지만, 이 프로젝트는 현재 sendgrid를 등록해놨으니 잘 동작할 것이다. (외부 메일 서버 사용하기 - Sendgrid를 참고)
PROBLEM_DATA_ROOT
는 문제의 채점 데이터를 저장할 디렉토리를 지정한다.
실제로 채점을 하는 judge에서도 같은 디렉토리를 지정해야한다.
settings
도 모듈이기 때문에, Python의 다른 라이브러리를 사용할 수 있다. 주소는 보통 먼저 정의된 BASE_DIR
을 사용하거나, os.path.join
등의 라이브러리를 사용하여 상대 주소를 절대 주소로 변환한다.