Django 프로젝트에서`from django.conf import settings`와 ʻimport settings`의 차이점은 무엇입니까?


92

나는 대부분의 사람들이하는 것을 읽고 from django.conf import settings있지만 단순히 import settingsdjango 프로젝트 파일에서 수행하는 것과의 차이점을 이해하지 못합니다 . 누구든지 차이점을 설명 할 수 있습니까?


django.conf 설정은 django 기본 또는 "글로벌"설정으로 자신의 프로젝트 기반 설정으로 재정의 할 수 있습니다.
Jingo

7
절대로 두 번째 형식을 사용하지 마십시오. 첫 번째는 유일한 올바른 것입니다.
bruno desthuilliers 2013

2
그러나 왜 두 번째 것을 사용하지 않습니까?
tzenderman 2013

답변:


111

import settings일반적으로 (기본 django 설정에서)에서 settings.py찾은 첫 번째 파이썬 모듈을 가져옵니다 sys.path. 장고 기본 설정 ( django.conf.global_settings) 을 덮어 쓰는 사이트 정의 설정 파일에만 액세스 할 수 있습니다 .

따라서 설정 파일에 지정되지 않은 유효한 django 설정에 액세스하려고하면 오류가 발생합니다.

django.conf.settings파일이 아니라 개념, 기본 설정 및 사이트 별 설정을 추상화하는 클래스입니다. Django는 from django.conf import settings.

django 문서 에서도 찾을 수 있습니다 .

도움이 되었기를 바랍니다.


5
import settingssettings.py에서 찾은 첫 번째 파이썬 모듈을 가져옵니다 sys.path. 이것은 환경 변수 "DJANGO_SETTINGS_MODULE"에서 조회되는 "사이트 정의 설정 파일"이 아닐 수 있으며 모든 파이썬 패키지 또는 모듈 일 수 있습니다.
bruno desthuilliers 2013

@brunodesthuilliers 감사합니다. 나는 당신의 수정을 인식하고 나의 대답을 업데이트합니다.
juliocesar

22

from django.conf import settings 더 나은 선택입니다.

동일한 django 프로젝트에 대해 다른 설정 파일을 사용합니다 (하나는 "live", 하나는 "dev"), 첫 번째 파일은 실행중인 파일을 선택합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.