Django 错误:无法导入设置 'interfaces.settings

1 投票
3 回答
2882 浏览
提问于 2025-04-16 23:22

我刚开始学习编程,对django的了解还不多,也不太明白它是怎么运作的。不过,我看过一些django的教程,基本上知道它的结构是怎样的。

现在,我并没有在服务器上修改正在使用的django项目(我们叫它 /main),我觉得我的同事把这个项目复制到了一个叫 /test 的新目录里。当我尝试在 /test 目录下用 manage.py 做任何事情时,运行

python2.4 manage.py runserver

我收到一个错误提示,内容是

Django Error: Could not import settings 'interfaces.settings' 
  (Is it on sys.path? Does it have syntax errors?): No module named settings. 

我查看了设置文件,尝试把 main 改成 test,但没有任何变化。

如果能给我一些建议,告诉我该去哪里找解决办法,那就太好了。

3 个回答

0

首先,弄清楚你安装了哪些版本的Python。

在控制台里输入python2,然后按一下Tab键。

看起来你正在尝试运行一个没有安装Django库的Python版本。

另外,试着在测试文件夹里以交互模式运行python2.4,并导入设置。

2

我用 manage.py shell --settings=settings 这个命令成功了。我发现当我运行 django-admin.py runserver 的时候,设置文件无法被导入,因为环境变量 DJANGO_SETTINGS_MODULE 没有定义。

解决办法: export DJANGO_SETTINGS_MODULE=settings

我是在项目的根目录下运行这个命令的(就是和 manage.py 在同一个文件夹,不确定这是否重要)。然后,运行 manage.py shell 的时候就可以正常工作了,不需要 加上 --settings=settings 这个部分。

谢谢!

2

还有呢?

听起来好像有些地方写死了代码,期待项目放在一个叫“interfaces”的文件夹里,而不是“test”。你可以试着运行 manage.py shell --settings=settings,看看这样是否有帮助。

其实,“还有”,你不应该在服务器上修改代码,即使它放在和生产环境不同的文件夹里。最好是在你自己的电脑上安装Django和代码,然后在那里进行修改。

撰写回答