'<project_name>.wsgi.application' could not be loaded; Error importing module.
heroku로 배포된 django 프로젝트를 clone 후 서버를 돌려보려 하는데 아래와 같은 에러가 떴다. wsgi 를 제대로 임포트하지 못하고 있었다.
raise ImproperlyConfigured(django.core.exceptions.ImproperlyConfigured:
WSGI application '<project_name>.wsgi.application' could not be loaded; Error importing module.
해결법은 크게 3가지가 있는 듯 하다.
1. settigns.py
와 wsgi.py
에서 환경변수가 잘 설정 되어있는지 확인
# settings.py
WSGI_APPLICATION = '<project_name>.wsgi.application'
# wsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', '<project_name>.settings')
확인해보니 구조와 PATH의 문제는 아닌 것 같았다.
2. whitenoise
설치하기
whitenoise는 static 파일들을 collectstatics
명령수행시 지정경로에 파일들을 모아주는 라이브러리 이다. settings.py
의 미들웨어를 확인해보니 whitenoise를 사용하고 있었다.
# settings.py
MIDDLEWARE = [
'whitenoise.middleware.WhiteNoiseMiddleware',
...
]
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
설치해 주었다.
$ pip install whitenoise
참고로 whitenoise version 4.0 이상을 사용한다면
wsgi.py
에서 whitenoise에 대한 참조를 제거해줘야 한다.
노란줄이 뜨는 whitenoise 참조를 제거하니 무사히 서버가 돌아갔다.
3. debug-toolbar 와 충동하여 실행이 안되는 경우.
미들웨어 에서 debug-toolbar를 지워주자.
Author And Source
이 문제에 관하여('<project_name>.wsgi.application' could not be loaded; Error importing module.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@duo22088/이게-왜-안될까-wsgi-를-임포트할-수-없다저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)