나는 대부분 사람들이 from django.conf import settings
을 수행하고 있다고 읽었지 만 장고 프로젝트에서 import settings
을 수행하는 것의 차이점을 이해하지는 않습니다. 파일. 아무도 그 차이를 설명 할 수 있습니까?Django 프로젝트에서`django.conf 가져 오기 설정 '과`가져 오기 설정'의 차이점
답변
는 settings.py
이라는 이름의 첫 번째 파이썬 모듈을 sys.path
(보통 기본 django 설정에서)에서 가져옵니다. django 기본 설정 (django.conf.global_settings
)을 덮어 쓰는 사이트 정의 설정 파일에만 액세스 할 수 있습니다.
따라서 설정 파일에 지정되지 않은 유효한 장고 설정에 액세스하려고하면 오류가 발생합니다.
django.conf.settings
은 파일이 아니며 개념, 기본 설정 및 사이트 별 설정을 추상화하는 클래스입니다. Django는 from django.conf import settings
을 사용할 때 다른 체크를합니다.
또한 django docs에서 찾을 수 있습니다.
희망이 도움이됩니다.
가져 오기 설정입니다. '는'sys.path'에있는'settings.py'라는 이름의 첫번째 파이썬 모듈을 가져올 것입니다. 이것은 환경 변수 "DJANGO_SETTINGS_MODULE"에서 찾은 "사이트 정의 설정 파일"이 아니며 단지 파이썬 패키지 또는 모듈 일 수 있습니다. –
@ brunodesthuilliers 감사합니다. 나는 당신의 교정을 알면서 나의 대답을 업데이트한다. – juliocesar
from django.conf import settings
이 더 좋습니다.
동일한 장고 프로젝트 ("라이브", "dev"중 하나)에 다른 설정 파일을 사용합니다. 첫 번째 파일은 실행중인 파일을 선택합니다.
/첫 번째가 더 좋음/첫 번째 만 올바른/ –
django.conf 설정은 django default 또는 "global"설정으로 프로젝트 기반 설정으로 재정의 할 수 있습니다. – Jingo
두 번째 양식은 절대로 사용하지 마십시오. 첫 번째 것이 유일한 것입니다. –
하지만 두 번째 것을 절대로 사용하지 않는 이유는 무엇입니까? – tzenderman