[python] Django의 설정 파일(settings.py)이란 무엇인가?

Django에서 설정 파일(settings.py)은 Django 프로젝트의 전반적인 동작을 제어하기 위한 파일입니다. 이 파일은 프로젝트의 설정과 관련된 중요한 변수와 옵션들을 포함하고 있습니다. Django 애플리케이션의 동작을 변경하거나 구성을 조정하는데 사용됩니다.

[Django 설정 파일의 역할] Django 설정 파일은 다양한 설정과 옵션을 제공하여 프로젝트의 동작을 제어합니다. 다음과 같은 주요 기능을 수행합니다:

  1. 애플리케이션의 데이터베이스 연결 정보 설정: 데이터베이스의 종류, 호스트, 포트, 사용자 이름, 비밀번호 등을 설정하여 Django가 데이터베이스와의 연결을 설정할 수 있도록 합니다.

  2. 정적 파일 및 미디어 파일 경로 설정: CSS, JavaScript, 이미지 등 정적 파일과 업로드된 미디어 파일의 저장 및 접근 경로를 설정합니다.

  3. 애플리케이션의 애플리케이션 및 미들웨어 설정: Django 애플리케이션에 추가하는 앱과 미들웨어를 설정합니다. 이를 통해 애플리케이션의 동작을 확장하고 필요한 기능을 추가할 수 있습니다.

  4. 디버그 모드 및 보안 설정: 개발 환경과 운영 환경에서의 디버그 모드, 로깅 수준, 보안 관련 설정 등을 조정합니다.

  5. 언어 및 시간대 설정: 애플리케이션의 언어와 시간대 설정을 제공합니다.

[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 설정 파일 참고 자료]