Django 错误:无法导入设置 'interfaces.settings
我刚开始学习编程,对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 个回答
首先,弄清楚你安装了哪些版本的Python。
在控制台里输入python2,然后按一下Tab键。
看起来你正在尝试运行一个没有安装Django库的Python版本。
另外,试着在测试文件夹里以交互模式运行python2.4,并导入设置。
我用 manage.py shell --settings=settings
这个命令成功了。我发现当我运行 django-admin.py runserver
的时候,设置文件无法被导入,因为环境变量 DJANGO_SETTINGS_MODULE 没有定义。
解决办法: export DJANGO_SETTINGS_MODULE=settings
我是在项目的根目录下运行这个命令的(就是和 manage.py 在同一个文件夹,不确定这是否重要)。然后,运行 manage.py shell
的时候就可以正常工作了,不需要 加上 --settings=settings
这个部分。
谢谢!
还有呢?
听起来好像有些地方写死了代码,期待项目放在一个叫“interfaces”的文件夹里,而不是“test”。你可以试着运行 manage.py shell --settings=settings
,看看这样是否有帮助。
其实,“还有”,你不应该在服务器上修改代码,即使它放在和生产环境不同的文件夹里。最好是在你自己的电脑上安装Django和代码,然后在那里进行修改。