Django

Settings 및 프로덕션 구성

Settings 분할 (base/dev/prod), 시크릿 관리, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, SECURE_* settings, .env/vault, 스토리지 구성

22 면접 질문·
Senior
1

프로덕션 환경에서 Django settings 파일을 구성하는 권장 구조는 무엇입니까?

답변

권장 구조는 공통 설정을 담은 base.py 파일을 가진 settings 패키지를 만들고, base.py를 import하여 확장하는 dev.py, staging.py, prod.py 파일을 별도로 두는 것입니다. 이 방식은 공통 설정을 공유하면서 특정 환경을 커스터마이징할 수 있어 유지보수를 쉽게 하고 코드 중복을 줄여줍니다.

2

Django 프로젝트를 시작할 때 어떤 settings 파일을 사용할지 어떻게 지정합니까?

답변

DJANGO_SETTINGS_MODULE 환경 변수는 사용할 settings 모듈에 대한 Python 경로를 지정합니다. 예를 들어 DJANGO_SETTINGS_MODULE=myproject.settings.prod는 Django에게 settings 패키지의 prod.py 파일을 사용하도록 지시합니다. 이 변수는 셸, 서버 구성 파일 또는 배포 스크립트에서 설정할 수 있습니다.

3

Django에서 ALLOWED_HOSTS setting의 역할은 무엇입니까?

답변

ALLOWED_HOSTS는 Django 애플리케이션을 서비스하도록 허용된 도메인/호스트의 목록입니다. 이 보안 메커니즘은 각 요청의 Host 헤더를 검증하여 HTTP Host header 공격으로부터 보호합니다. DEBUG=False인 프로덕션에서는 이 setting이 필수이며, 400 Bad Request 오류를 피하기 위해 애플리케이션의 정당한 도메인을 포함해야 합니다.

4

어떤 ALLOWED_HOSTS 값이 모든 호스트를 허용하며, 그것이 프로덕션에서 위험한 이유는 무엇입니까?

5

Django 4.0에서 도입된 CSRF_TRUSTED_ORIGINS setting의 용도는 무엇입니까?

+19 면접 질문

다음 면접을 위해 Django을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기