1

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

当我通过以下命令在本地运行服务器时,我想使用设置模块 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

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

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

这里需要帮助!

4

2 回答 2

1

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

from base import *

在本地设置的顶部。

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

于 2013-11-09T11:24:28.110 回答
1

看起来 django 没有找到“mysite.settings.local”包,因为它不在您的PYTHONPATH.

您必须在 manage.py 文件中添加 sys.path,以下内容应该适合您:-

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

于 2013-11-09T11:33:45.143 回答