2014-11-06 2 views
0

모든 이전 작업을했지만 갑자기장고는 설정을 찾을 수 없습니까?

python manage.py runserver 

모든

line 41, in import_module 
return sys.modules[name] 
KeyError: 'settings.base' 

내 PYTHONPATH 내 장고 프로젝트의 루트 폴더를 가리키는 오류가 발생합니다.

내 manage.py은 다음과 같습니다

import os 
import sys 
if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings.base") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 

나는 내가 base.py 파일이있는 설정 폴더가 있습니다. 이 파일은 환경 별 설정을 사용합니다.

if os.getenv("PLATFORM") == "Heroku-Master": 
     from .heroku_master import * 
    elif os.getenv("PLATFORM") == "Heroku-Dev": 
     from .heroku_dev import * 
    elif os.getenv("PLATFORM") == "Heroku-Prod": 
     from .heroku_prod import * 
    else: 
     from .local import * 
except Exception as e: 
    pass 

무엇이 문제 일 수 있습니까?

+0

Errr :

workspace ProjectDjango manage.py YourAppFolder settings.py 

귀하의 설정이되어야한다 settings.base'가 존재하지 않습니다. –

+0

base.py 파일이있는 루트 내에 설정 폴더가 있습니다. – akhil

+1

설정 폴더에'__init __. py'가 있습니까? 파이썬 경로에 루트 폴더가 있습니까? –

답변

0

파일 이름은 settings.py입니까?

프로젝트 루트가/홈/사용자 이름/작업 공간/ProjectDjango에 있다고 가정하고 다음과 같은 구조를 가지고 : ...`그

import os 
import sys 
if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "YourAppFolder.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 
+0

아니요 settings라는 폴더가 있습니다. 기본 '설정'을 가지고 base.py 파일을 가지고 있고/dev/prod.try 로컬 환경 설정 파일을 가져옵니다. 위 참조. – akhil

+0

그래서 base.py if/else 구조에 도달합니까? 그렇다면 try/except 블록이 os.getenv ("PLATFORM")를 읽는 데 성공했는지 테스트 했습니까? –

관련 문제