django-core settings(4)

hwisaac·2023년 8월 31일
0

djnago-setting

목록 보기
4/8

EMAIL_BACKEND

기본값: 'django.core.mail.backends.smtp.EmailBackend'

이메일을 보내기 위해 사용할 백엔드입니다. 사용 가능한 백엔드 목록은 이메일 보내기를 참조하세요.

EMAIL_FILE_PATH

기본값: 정의되지 않음

file 이메일 백엔드에서 출력 파일을 저장하는 데 사용되는 디렉토리입니다.

EMAIL_HOST

기본값: 'localhost'

이메일을 보내기 위해 사용할 호스트입니다.

EMAIL_PORT도 참조하세요.

EMAIL_HOST_PASSWORD

기본값: '' (빈 문자열)

EMAIL_HOST에 정의된 SMTP 서버에 대한 비밀번호입니다. 이 설정은 SMTP 서버에 인증할 때 EMAIL_HOST_USER와 함께 사용됩니다. 이 설정 중 하나라도 비어 있으면 Django는 인증을 시도하지 않습니다.

EMAIL_HOST_USER도 참조하세요.

EMAIL_HOST_USER

기본값: '' (빈 문자열)

EMAIL_HOST에 정의된 SMTP 서버에 대한 사용자 이름입니다. 비어 있으면 Django는 인증을 시도하지 않습니다.

EMAIL_HOST_PASSWORD도 참조하세요.

EMAIL_PORT

기본값: 25

EMAIL_HOST에 정의된 SMTP 서버에 사용할 포트입니다.

EMAIL_SUBJECT_PREFIX

기본값: '[Django] '

django.core.mail.mail_admins 또는 django.core.mail.mail_managers로 보내지는 이메일 메시지의 주제 접두사입니다. 주로 뒤에 공백을 포함시키는 것이 좋습니다.

EMAIL_USE_LOCALTIME

기본값: False

이메일 메시지의 SMTP Date 헤더를 로컬 시간대(True) 또는 UTC(False)로 보낼지 여부입니다.

EMAIL_USE_TLS

기본값: False

SMTP 서버와 통신할 때 TLS(보안) 연결을 사용할지 여부입니다. 보통 587 포트에서 명시적 TLS 연결에 사용됩니다. 연결이 지연되는 문제가 있는 경우 암시적 TLS 설정 EMAIL_USE_SSL을 확인하세요.

EMAIL_USE_SSL

기본값: False

SMTP 서버와 통신할 때 암시적 TLS(보안) 연결을 사용할지 여부입니다. 대부분의 이메일 문서에서 이 유형의 TLS 연결은 SSL로 참조됩니다. 일반적으로 465 포트에서 사용됩니다. 문제가 있는 경우 명시적 TLS 설정 EMAIL_USE_TLS을 확인하세요.

EMAIL_USE_TLS/EMAIL_USE_SSL는 상호 배타적이므로 이 중 하나만 True로 설정하세요.

EMAIL_SSL_CERTFILE

기본값: None

EMAIL_USE_SSL 또는 EMAIL_USE_TLSTrue인 경우 SSL 연결에 사용할 PEM 형식 인증서 체인 파일의 경로를 선택적으로 지정할 수 있습니다.

EMAIL_SSL_KEYFILE

기본값: None

EMAIL_USE_SSL 또는 EMAIL_USE_TLSTrue인 경우 SSL 연결에 사용할 PEM 형식의 개인 키 파일의 경로를 선택적으로 지정할 수 있습니다.

EMAIL_SSL_CERTFILEEMAIL_SSL_KEYFILE 설정을 해도 인증서 확인은 수행되지 않습니다. 이 설정은 기본 SSL 연결로 전달됩니다. 인증서

체인 파일 및 개인 키 파일 처리에 대한 자세한 내용은 Python의 ssl.wrap_socket() 함수 문서를 참조하세요.

EMAIL_TIMEOUT

기본값: None

연결 시도와 같은 블로킹 작업에 대한 타임아웃을 초 단위로 지정합니다.

FILE_UPLOAD_HANDLERS

기본값:

[
    "django.core.files.uploadhandler.MemoryFileUploadHandler",
    "django.core.files.uploadhandler.TemporaryFileUploadHandler",
]

업로드에 사용할 핸들러 목록입니다. 이 설정을 변경하면 Django의 업로드 프로세스를 완전히 사용자 정의하거나 대체할 수 있습니다.

자세한 내용은 파일 관리를 참조하세요.

FILE_UPLOAD_MAX_MEMORY_SIZE

기본값: 2621440 (즉, 2.5MB).

파일 시스템으로 스트리밍되기 전에 업로드될 수 있는 최대 크기(바이트 단위)입니다. 자세한 내용은 파일 관리를 참조하세요.

DATA_UPLOAD_MAX_MEMORY_SIZE도 참조하세요.

FILE_UPLOAD_DIRECTORY_PERMISSIONS

기본값: None

파일 업로드 과정에서 생성되는 디렉토리에 적용할 숫자 모드입니다.

이 설정은 collectstatic 관리 명령을 사용할 때 수집된 정적 디렉토리의 기본 권한도 결정합니다. 관련 내용은 collectstatic을 참조하세요.

이 값은 FILE_UPLOAD_PERMISSIONS 설정의 기능과 주의 사항을 반영합니다.

FILE_UPLOAD_PERMISSIONS

기본값: 0o644

새로 업로드된 파일에 적용할 숫자 모드(0o644 등)입니다. 이 모드에 대한 자세한 정보는 os.chmod()의 문서를 참조하세요.

None인 경우 운영 체제에 따라 다른 동작이 적용됩니다. 대부분의 플랫폼에서 임시 파일의 모드는 0o600이며, 메모리에서 저장된 파일은 시스템의 표준 umask를 사용하여 저장됩니다.

보안 상의 이유로 이러한 권한은 FILE_UPLOAD_TEMP_DIR에 저장되는 임시 파일에는 적용되지 않습니다.

이 설정은 collectstatic 관리 명령을 사용할 때 수집된 정적 파일의 기본 권한도 결정합니다. 관련 내용은 collectstatic을 참조하세요.

경고

모드 앞에 항상 0o 를 붙여주세요.

파일 모드에 익숙하지 않은 경우 0o 접두어는 매우 중요합니다. 이는 8진수 숫자를 나타내며 모드가 지정되는 방식입니다. 644와 같이 사용하지 마십시오. 완전히 잘못된 동작이 발생합니다.

FILE_UPLOAD_TEMP_DIR

기본값: None

파일 시스템에 스트리밍되는 파일(일반적으로 FILE_UPLOAD_MAX_MEMORY_SIZE보다 큰 파일)을 업로드하는 동안 데이터를 임시로 저장하는 디렉토리입니다. None인 경우 Django는 운영 체제의 표준 임시 디렉토리를 사용합니다. 예를 들어, Unix 스타일의 운영 체제에서는 기본적으로 /tmp를 사용합니다.

자세한 내용은 파일 관리를 참조하세요.

FIRST_DAY_OF_WEEK

기본값: 0 (일요일)

주의 첫 번째 날을 나타내는 숫자입니다. 주 달력을 표시할 때 특히 유용합니다. 이 값은 현재 로케일에 대한 형식을 찾을 수 없거나 형식 국제화를 사용하지 않을 때에만 사용됩니다.

값은 0부터 6까지의 정수이며, 0은 일요일, 1은 월요일 등을 나타냅니다.

FIXTURE_DIRS[¶](https://docs.djangoproject.com/en/4.2/ref/settings/#fixture-dirs

)

기본값: [] (빈 목록)

각 애플리케이션의 fixtures 디렉토리 외에 추가로 fixture 파일을 검색할 디렉토리 목록입니다. 이 경로는 Windows에서도 Unix 스타일의 슬래시를 사용해야 합니다.

fixture로 데이터 제공Fixture loading을 참조하세요.

FORCE_SCRIPT_NAME

기본값: None

None이 아닌 경우 HTTP 요청의 SCRIPT_NAME 환경 변수의 값으로 사용됩니다. 이 설정을 사용하면 서버에서 제공한 SCRIPT_NAME 값(선호하는 값의 재작성 또는 전혀 제공되지 않은 값)을 무시할 수 있습니다. 이는 또한 django.setup()에서 사용되며, 요청/응답 주기 외부(예: 관리 명령 및 독립 실행 스크립트)에서 URL 리졸버 스크립트 접두사를 설정할 때 SCRIPT_NAME/이 아닌 경우 올바른 URL을 생성하는 데 사용됩니다.

FORM_RENDERER

기본값: 'django.forms.renderers.DjangoTemplates'

양식과 양식 위젯을 렌더링하는 클래스입니다. 저수준 렌더 API를 반드시 구현해야 합니다. 포함된 양식 렌더러는 다음과 같습니다:

  • 'django.forms.renderers.DjangoTemplates'
  • 'django.forms.renderers.Jinja2'
  • 'django.forms.renderers.TemplatesSetting'

제공된 양식 렌더러에 대한 자세한 내용은 Django 문서를 참조하세요.

FORMAT_MODULE_PATH

기본값: None

프로젝트 로케일을 위한 사용자 정의 형식 정의를 포함하는 Python 패키지의 전체 Python 경로입니다. None이 아닌 경우, Django는 현재 로케일로 지정된 디렉토리 아래의 formats.py 파일을 확인하고 이 파일에 정의된 형식을 사용합니다.

예를 들어, 만약 FORMAT_MODULE_PATHmysite.formats로 설정되어 있고 현재 언어가 en (영어)인 경우, Django는 다음과 같은 디렉토리 트리를 기대합니다:

mysite/
    formats/
        __init__.py
        en/
            __init__.py
            formats.py

또한 이 설정을 Python 경로 목록으로 설정할 수도 있습니다. 예를 들어:

FORMAT_MODULE_PATH = [
    "mysite.formats",
    "some_app.formats",
]

Django는 특정 형식을 검색할 때 주어진 Python 경로를 모두 확인하며 해당 형식을 정의한 모듈을 찾을 때까지 이동합니다. 이는 목록에서 더 위에 있는 패키지에서 정의된 형식이 목록 아래의 패키지에서 정의된 동일한 형식보다 우선시됨을 의미합니다.

사용 가능한 형식은 다음과 같습니다:

IGNORABLE_404_URLS

기본값: [] (빈 목록)

HTTP 404 오류를 이메일로 보고할 때 무시해야 할 URL을 설명하는 정규식 객체의 컴파일된 목록입니다 (오류 보고 관리 방법은 오류 보고 관리 방법을 참조). 정규식은 request의 전체 경로와 (쿼리 문자열 포함) 일치됩니다. 예를 들어, 사이트가 favicon.ico 또는 robots.txt와 같은 일반적으로 요청되는 파일을 제공하지 않는 경우에 사용합니다.

이 설정은 BrokenLinkEmailsMiddleware가 활성화된 경우에만 사용됩니다 (Middleware를 참조).

INSTALLED_APPS

기본값: [] (빈 목록)

Django 설치에서 활성화된 모든 애플리케이션을 지정하는 문자열 목록입니다. 각 문자열은 다음 중 하나의 점으로 구분된 Python 경로여야 합니다:

  • 애플리케이션 설정 클래스 (권장) 또는
  • 애플리케이션을 포함하는 패키지.

애플리케이션 설정에 대해 더 알아보기.

내부 검사를 위해 애플리케이션 레지스트리를 사용하세요.

코드에서는 직접 INSTALLED_APPS에 접근하면 안 됩니다. 대신 django.apps.apps를 사용하세요.

애플리케이션 이름과 레이블은 INSTALLED_APPS에서 고유해야 합니다.

애플리케이션 이름은 애플리케이션 패키지의 점으로 구분된 Python 경로로 고유해야 합니다. 동일한 애플리케이션을 두 번 포함하는 방법은 다른 이름으로 코드를 중복하는 것입니다.

애플리

케이션 레이블은 기본적으로 이름의 마지막 부분이어야 하며 고유해야 합니다. 예를 들어, django.contrib.authmyproject.auth를 동시에 포함할 수 없습니다. 그러나 다른 label을 정의하는 사용자 정의 설정으로 애플리케이션의 레이블을 다시 지정할 수 있습니다.

이 규칙은 INSTALLED_APPS이 애플리케이션 설정 클래스나 애플리케이션 패키지를 참조하든 상관없이 적용됩니다.

여러 애플리케이션이 동일한 리소스의 다른 버전 (템플릿, 정적 파일, 관리 명령, 번역)을 제공하는 경우, INSTALLED_APPS에서 먼저 나열된 애플리케이션이 우선시됩니다.

INTERNAL_IPS

기본값: [] (빈 목록)

다음과 같은 역할을 하는 문자열 형태의 IP 주소 목록입니다:

  • debug() 컨텍스트 프로세서가 템플릿 컨텍스트에 몇 가지 변수를 추가할 수 있도록 합니다.
  • 스태프 사용자로 로그인하지 않은 경우에도 admindocs 즐겨찾기를 사용할 수 있도록 합니다.
  • AdminEmailHandler 이메일에서 "internal"로 표시됩니다 (대신 "EXTERNAL").

LANGUAGE_CODE

기본값: 'en-us'

이 설치의 언어 코드를 나타내는 문자열입니다. 이는 표준 언어 ID 형식이어야 합니다. 예를 들어, 미국 영어는 "en-us"입니다. 또한 언어 식별자 목록다국어 지원 목록을 참조하세요.

이 설정이 효과를 발휘하려면 USE_I18N을 활성화해야 합니다.

이는 두 가지 목적을 가집니다:

  • 로케일 미들웨어가 사용되지 않는 경우, 모든 사용자에게 제공되는 번역을 결정합니다.
  • 로케일 미들웨어가 활성화된 경우, 사용자의 우선 언어를 결정할 수 없거나 웹사이트에서 지원하지 않는 경우 대체 언어를 제공합니다. 또한 사용자의 우선 언어에 대한 리터럴의 번역이 존재하지 않을 때 대체 번역을 제공합니다.

더 자세한 내용은 Django에서 언어 선호도를 어떻게 확인하는지를 참조하세요.

기본값: None (브라우저 닫힘 시 만료)

언어 쿠키의 수명을 초 단위로 나타냅니다.

기본값: None

언어 쿠키에 사용할 도메인입니다. 이를 example.com과 같은 문자열로 설정하여 도메인 간 쿠키를 사용하거나 표준 도메인 쿠키를 위해 None을 사용하세요.

이 설정을 제품 사이트에서 업데이트할 때 주의하세요. 이전에 표준 도메인 쿠키를 사용한 사이트에서 도메인 간 쿠키를 활성화하도록 이 설정을 업데이트하는 경우, 이전 도메인을 가진 기존 사용자 쿠키가 업데이트되지 않습니다. 이로 인해 이러한 쿠키가 유지되는 한 사이트 사용자가 언어를 전환하지 못하는 결과가 발생할 수 있습니다. 전환을 수행하는 유일하고 안전한 옵션은 언어 쿠키 이름을 영구적으로 변경하고 (via LANGUAGE_COOKIE_NAME 설정을 통해) 이전 쿠키의 값을 새로운 쿠키로 복사한 다음 이전 쿠키를 삭제하는 미들웨어를 추가하는 것입니다.

기본값: False

언어 쿠키에 HttpOnly 플래그를 사용할지 여부입니다

. 이를 True로 설정하면 클라이언트 측 JavaScript가 언어 쿠키에 접근할 수 없습니다.

자세한 내용은 SESSION_COOKIE_HTTPONLY를 참조하세요.

기본값: 'django_language'

언어 쿠키에 사용할 쿠키의 이름입니다. 이는 애플리케이션의 다른 쿠키 이름과 달라야 합니다 (다른 쿠키 이름과 겹치지 않는 한).

기본값: '/'

언어 쿠키에 설정할 경로입니다. 이는 Django 설치의 URL 경로와 일치하거나 해당 경로의 상위 경로여야 합니다.

동일한 호스트 이름 아래에서 여러 Django 인스턴스를 실행하는 경우 유용합니다. 각 인스턴스는 다른 쿠키 경로를 사용할 수 있으며 각 인스턴스는 자신만의 언어 쿠키만 볼 수 있습니다.

제품 사이트에서 이 설정을 업데이트할 때 주의하세요. 이 설정을 이전에 사용한 경로보다 깊은 경로로 업데이트하는 경우, 이전 경로를 가진 기존 사용자 쿠키가 업데이트되지 않습니다. 이로 인해 이러한 쿠키가 유지되는 한 사이트 사용자가 언어를 전환하지 못하는 결과가 발생할 수 있습니다. 전환을 수행하는 유일하고 안전한 옵션은 언어 쿠키 이름을 영구적으로 변경하고 (via LANGUAGE_COOKIE_NAME 설정을 통해) 이전 쿠키의 값을 새로운 쿠키로 복사한 다음 이전 쿠키를 삭제하는 것입니다.

기본값: None

언어 쿠키에 대한 SameSite 플래그의 값입니다. 이 플래그는 쿠키가 교차 사이트 요청에서 전송되지 않도록 막습니다.

자세한 내용은 SESSION_COOKIE_SAMESITE를 참조하세요.

기본값: False

언어 쿠키에 보안 쿠키를 사용할지 여부입니다. 이를 True로 설정하면 쿠키가 "보안"으로 표시되며, 브라우저는 쿠키가 HTTPS 연결 아래에서만 전송되도록 보장할 수 있습니다.

LANGUAGES

기본값: 사용 가능한 모든 언어의 목록입니다. 이 목록은 계속해서 확장되며 여기에 복사본을 포함하는 것은 빠르게 오래된 상태가 될 것입니다. 현재 번역된 언어 목록은 django/conf/global_settings.py에서 확인할 수 있습니다.

이 목록은 형식이 (언어 코드, 언어 이름)인 튜플의 목록입니다. 예를 들어, ('ja', '일본어')입니다. 이는 어떤 언어가 언어 선택을 위해 사용 가능한지를 지정합니다. 국제화와 지역화를 참조하세요.

일반적으로 기본값을 그대로 사용하는 것이 좋습니다. Django에서 제공하는 언어의 하위 집합으로 언어 선택을 제한하려면 이 설정을 설정하십시오.

사용자 정의 LANGUAGES 설정을 정의하면 언어 이름을 gettext_lazy() 함수를 사용하여 번역 문자열로 표시할 수 있습니다.

다음은 샘플 설정 파일입니다:

from django.utils.translation import gettext_lazy as _

LANGUAGES = [
    ("de", _("독일어")),
    ("en", _("영어")),
]

LANGUAGES_BIDI

기본값: 오른쪽에서 왼쪽으로 쓰는 모든 언어 코드의 목록입니다. 현재 이러한 언어 목록은 django/conf/global_settings.py에서 확인할 수 있습니다.

이 목록에는 오른쪽에서 왼쪽으로 쓰는 언어에 대한 언어 코드가 포함되어 있습니다.

일반적으로 기본값을 그대로 사용하는 것이 좋습니다. Django에서 제공하는 언어의 하위 집합으로 언어 선택을 제한하려면 이 설정을 설정하십시오. 사용자 정의 LANGUAGES 설정을 정의하면 양방향 언어 목록에는 특정 사이트에서 활성화되지 않은 언어 코드도 포함될 수 있습니다.

LOCALE_PATHS

기본값: [] (빈 목록)

Django가 번역 파일을 찾을 디렉토리 목록입니다. Django에서 번역을 어떻게 찾는지를 참조하세요.

예시:

LOCALE_PATHS = [
    "/home/www/project/common_files/locale",
    "/var/local/translations/locale",
]

Django는 각 경로 내에서 실제 번역 파일을 포함하는 <locale_code>/LC_MESSAGES 디렉토리를 찾습니다.

LOGGING

기본값: 로깅 구성 사전(dictionary).

구성 정보를 포함하는 데이터 구조입니다. 비어 있지 않은 경우, 이 데이터 구조의 내용은 LOGGING_CONFIG에서 설명한 구성 메서드에 전달됩니다.

기본 로깅 구성에는 DEBUGFalse일 때 HTTP 500 서버 오류를 이메일 로그 핸들러로 전달하는 내용이 포함됩니다. 로깅 구성 설정을 참조하세요.

기본 로깅 구성은 django/utils/log.py에서 확인할 수 있습니다.

LOGGING_CONFIG

기본값: 'logging.config.dictConfig'

Django 프로젝트에서 로깅

을 구성하는 데 사용될 호출 가능한 경로입니다. 기본적으로 Python의 dictConfig 구성 메서드의 인스턴스를 가리킵니다.

만약 LOGGING_CONFIGNone로 설정하면 로깅 구성 프로세스는 건너뛰게 됩니다.

MANAGERS

기본값: [] (빈 목록)

BrokenLinkEmailsMiddleware가 활성화되었을 때 깨진 링크 알림을 받아야 하는 사람을 지정하는 ADMINS와 동일한 형식의 목록입니다.

MEDIA_ROOT

기본값: '' (빈 문자열)

사용자가 업로드한 파일을 저장할 디렉토리의 절대 파일 시스템 경로입니다. 예시: "/var/www/example.com/media/"

MEDIA_URL을 참조하세요.

경고

MEDIA_ROOTSTATIC_ROOT는 서로 다른 값을 가져야 합니다. STATIC_ROOT가 도입되기 전에는 보통 MEDIA_ROOT에 의존하거나 대체로 쓰였으나, 이는 심각한 보안 문제를 초래할 수 있으므로 이를 방지하기 위한 유효성 검사가 있습니다.

MEDIA_URL

기본값: '' (빈 문자열)

MEDIA_ROOT에서 제공하는 미디어를 처리하는 URL입니다. 저장된 파일 관리에 사용됩니다. 비어 있지 않은 값으로 설정된 경우 URL은 슬래시로 끝나야 합니다. 개발 및 프로덕션 환경 모두에서 이러한 파일을 제공하도록 설정해야 합니다.

템플릿에서 {{ MEDIA_URL }}를 사용하려면 TEMPLATES'context_processors' 옵션에 'django.template.context_processors.media'를 추가하세요.

예시: "http://media.example.com/"

경고

신뢰되지 않은 사용자로부터 업로드된 콘텐츠를 수락하는 경우 보안 위험이 있습니다! 사용자 업로드 콘텐츠의 보안 가이드 항목을 참조하여 완화 방법을 확인하세요.

경고

MEDIA_URLSTATIC_URL은 서로 다른 값을 가져야 합니다. 자세한 내용은 MEDIA_ROOT를 참조하세요.

참고

만약 MEDIA_URL이 상대 경로라면, 이는 서버에서 제공하는 SCRIPT_NAME의 값으로 접두어가 붙게 됩니다 (설정되지 않은 경우에는 /). 이로 인해 추가 설정 없이 하위 경로에 Django 애플리케이션을 제공하는 것이 더 쉬워집니다.

0개의 댓글