프로젝트에 startapps 명령어로 생성되지 않은 파일에서 장고에 등록된 모델이나 함수를 사용할 때 다음과 같은 에러가 발생한다.
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
이를 해결하기 위해선 환경을 장고에 맞춰주기 위해서 다음과 같은 코드를 from user.models import model 과 같은 파일 위쪽에 선언해준다.
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
import django
django.setup()
from user.models import Users
os.environ 는 운영체제에 등록되어 있는 환경변수에 접근하는 명령어로서
단순히 os.environ을 작성하게 되면 자신의 컴퓨터에 있는 환경변수가 출력된다.
즉 os.environ.setdefault(A, B) 는 A라는 이름로 B를 값으로 등록하겠다는 의미이다.
만약 환경 변수값을 갖고 오고 싶다면 아래 명령어를 통해 확인하면 된다.
import os
os.environ.get("DJANGO_SETTINGS_MODULE")
'Web Programming > Django' 카테고리의 다른 글
[Django] Trouble Shooting (0) | 2020.12.02 |
---|---|
[Django] Admin 등록 방법 (0) | 2020.12.02 |
[Django] 장고 비밀키 관리하기 (0) | 2020.11.27 |
[pipenv] Your dependencies could not be resolved. (0) | 2020.11.27 |
[Django] 장고 쿼리셋 파헤치기(Eager Loading) (0) | 2020.11.27 |