一切都在以前工作,但突然间
python manage.py runserver
抛出错误
line 41, in import_module
return sys.modules[name]
KeyError: 'settings.base'
我的PYTHONPATH指向我的django项目的根文件夹。
我的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 :(得分:0)
您的文件是否名为settings.py?
假设您的项目根目录位于/ home / username / workspace / ProjectDjango,并且您具有以下结构:
workspace
ProjectDjango
manage.py
YourAppFolder
settings.py
您的配置应该是:
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)