[python] Django의 설정 파일(settings.py)이란 무엇인가?
Django에서 설정 파일(settings.py)은 Django 프로젝트의 전반적인 동작을 제어하기 위한 파일입니다. 이 파일은 프로젝트의 설정과 관련된 중요한 변수와 옵션들을 포함하고 있습니다. Django 애플리케이션의 동작을 변경하거나 구성을 조정하는데 사용됩니다.
[Django 설정 파일의 역할] Django 설정 파일은 다양한 설정과 옵션을 제공하여 프로젝트의 동작을 제어합니다. 다음과 같은 주요 기능을 수행합니다:
-
애플리케이션의 데이터베이스 연결 정보 설정: 데이터베이스의 종류, 호스트, 포트, 사용자 이름, 비밀번호 등을 설정하여 Django가 데이터베이스와의 연결을 설정할 수 있도록 합니다.
-
정적 파일 및 미디어 파일 경로 설정: CSS, JavaScript, 이미지 등 정적 파일과 업로드된 미디어 파일의 저장 및 접근 경로를 설정합니다.
-
애플리케이션의 애플리케이션 및 미들웨어 설정: Django 애플리케이션에 추가하는 앱과 미들웨어를 설정합니다. 이를 통해 애플리케이션의 동작을 확장하고 필요한 기능을 추가할 수 있습니다.
-
디버그 모드 및 보안 설정: 개발 환경과 운영 환경에서의 디버그 모드, 로깅 수준, 보안 관련 설정 등을 조정합니다.
-
언어 및 시간대 설정: 애플리케이션의 언어와 시간대 설정을 제공합니다.
[Django 설정 파일 예시]
# settings.py 파일
# 데이터베이스 설정
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '3306',
}
}
# 정적 파일 및 미디어 파일 경로 설정
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
# 애플리케이션과 미들웨어 설정
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
# 디버그 모드 및 보안 설정
DEBUG = True
SECRET_KEY = 'your-secret-key-here'
# 언어 및 시간대 설정
LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'
[Django 설정 파일 참고 자료]
- Django 공식 문서: https://docs.djangoproject.com/en/3.2/topics/settings/
- DjangoGirls Tutorial: https://tutorial.djangogirls.org/ko/django/