Django找不到设置?

时间:2014-11-06 15:14:36

标签: django python-2.7

一切都在以前工作,但突然间

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

可能是什么问题?

1 个答案:

答案 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)