【问题标题】:Django ImportError when attempting to use a setting in a settings directory尝试使用设置目录中的设置时出现 Django ImportError
【发布时间】:2013-11-21 06:46:52
【问题描述】:

好的,所以我已经为这个问题苦苦挣扎了两个小时了。

当我通过以下命令在本地运行服务器时,我想使用设置模块 local.py:

$ python manage.py runserver --settings=mysite.settings.local

但是,当我尝试这样做时,我看到了这个错误:

    ImportError: Could not import settings 'mysite.settings.local' (Is it on sys.path?): No module named base

这就是我的目录的布局方式:

├── manage.py
├── media
├── myapp
│   ├── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
└── mysite
    ├── __init__.py
    ├── __init__.pyc
    ├── settings
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── local.py
    │   └── local.pyc
    ├── urls.py
    └── wsgi.py

有人提出了类似的问题,但他们的解决方案对我不起作用。

一个建议是在设置文件夹中包含一个初始化文件,但是,正如您所看到的,这是我已经完成的。

这里需要帮助!

【问题讨论】:

  • 您能否检查此命令输出并验证 settings.local 文件是否是该路径的一部分 - >>> import sys >>> for path in sys.path: print path

标签: django settings importerror


【解决方案1】:

好像 local.py 模块是从 base.py 导入的,你可能有类似的东西:

from base import *

在本地设置的顶部。

但是 base.py 设置模块不存在,因此出现错误。

【讨论】:

    【解决方案2】:

    django 似乎没有找到“mysite.settings.local”包,因为它不在您的PYTHONPATH 中。

    你必须在你的 manage.py 文件中添加 sys.path,以下应该对你有用:-

    sys.path.append(os.path.dirname(os.path.abspath(__file__)))

    【讨论】:

      猜你喜欢
      • 2021-06-26
      • 2010-12-11
      • 1970-01-01
      • 2012-07-28
      • 2013-01-25
      • 2019-07-27
      • 1970-01-01
      • 2011-12-07
      • 2022-09-24
      相关资源
      最近更新 更多