0. 개요
Django 프로젝트를 시작하면 생성된 파일 중 settings.py를 볼 수 있다. 제목에 설명한 것과 같이 settings.py는 Django 프로젝트의 환경 및 구성 설정을 담고 있는 중요한 파일이다. setting.py의 주요 설정 요소에 대해 알아보자
1. 주요 설정 요소
1) DEBUG
- 개발 중에는 True로 설정하여 디버깅 정보를 표시
- 프로덕션 환경에서는 보안을 위해 Flase로 설정
2) INSTALLED_APPS
- 프로젝트에서 사용하는 Django 앱을 나열
- 기본 앱과 사용자가 만든 앱 또는 서드 파티 챕을 여기에 추가
3) MIDDELWARE
- 요청과 응답 사이에서 동작하는 미들웨어를 정의
- 보안, 세션 관리, CORS등 다양한 기능을 위한 미들웨어를 설정
4) DATABASES
- 데이터베이스 연결 설정을 정의
- 기본적으로 SQLite
- PostgreSQL, MySQL, Oracle 등 다른 데이터베이스로 변경 가능
5) TEMPLATES
- 템플릿 엔진 설정을 포함
- 템플릿 파일들의 위치, 로더, 컨텍스트 프로세스 등을 정의
6) STATIC_URL 및 STATICFILES_DIRS
- 정적 파일(JavaScript, CSS, 이미지 등)의 URL 및 파일 시스템 경로를 설정
7) MEDEA_URL 및 MEDIA_ROOT
- 사용자가 업로드하는 미디어 파일(이미지, 비디오 등)의 URL 및 저장위치를 설정
8) LANGUAGE_CODE 및 TIME_ZONE
- 기본언어와 시간대를 설정
9) ALLOWED_HOSTS
- 서버가 응답할 수 있는 호스트/도메인 을 정의
- 보안을 위해 프로덕션 환경에서는 실제 호스트명을 명시
10) SECRET_KEY
- Django 프로젝트의 보안 키로, 암호화와 세션 관리에 사용
- 안전하게 관리되어야 하며, 공개되지 않도록 주의
11) ROOT_URLCONF
- 프로젝트의 ㄹ루트 URL 설정을 가리키는 모듈을 지정
12) WSGI_APPLICATION
- WSGI 애프리케이션의 Python 경로를 설정
2. 참고사항
- settings.py 파일은 프로젝트의 구성에 매우 중요하기 때문에 보안과 성능을 고려하여 신중하게 관리
- 프로덕션 환경에서는 보안과 성능을 위해 다양한 추가적인 설정이 필요
(DEBUG, ALLOWED_HOSTS, SECRET_KEY 등) - 민감한 정보(데이터베이스 비밀번호,'SECRET_KEY 등)은 환경 변수를 통해 관리하는 것이 좋다.
'IT > Python' 카테고리의 다른 글
Django, 탬플릿 태그를 활용하여 DB에 등록된 데이터 출력 및 페이징네이션 (1) | 2024.04.07 |
---|---|
Django, forms를 활용하여 사용자로부터 데이터 수집하기ModelForm (0) | 2024.04.07 |
Django, 함수 기반 뷰(FBV), 클래스 기반 뷰 호출(CBV)의 차이 (1) | 2024.04.07 |
Django에서 URLConf를 사용하여 Projcet와 App의 URL을 연결 (0) | 2024.04.07 |
Django, model.py를 구현하고 DB에 변경사항 적용하기 (0) | 2024.04.07 |