django:找不到名为mysite.settings的wsgi导入设置错误模式

时间:2011-01-21 05:29:49

标签: django wsgi

您好   我花了两天时间来解决这个错误。无法弄明白。

an 21 00:19:50 2011] [error] [client 127.0.0.1] ImportError: Could not import settings 'mysite.settings' (Is it on sys.path? Does it have syntax errors?): No module named settings

django.wsgi位于/ user / local / django / apache

import os, sys
sys.path.append('/usr/local/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

我的django项目名为mysite:位于/ user / local / django / mysite / scr /(这里包含settings.py init.py等...)

apache conf

Alias /media/ /usr/local/django/media
<Directory /usr/local/django/media>
Order deny,allow
Allow from all
</Directory>

<Directory /usr/local/django/apache/>
Order deny,allow
Allow from all
</Directory>



WSGIScriptAlias / /usr/local/django/apache/django.wsgi

我已使用权限777更改了上面的mysite文件夹,以避免任何权限问题。 我每次都重启httpd服务。

apache启动并找到django.wsig。但它找不到其中指定的设置文件。

然后我手动添加路径到$ PATH并回显它。它就在那里。我重启httpd。然后我添加的路径消失了......

谁知道发生了什么事?

感谢

3 个答案:

答案 0 :(得分:3)

如果settings.py位于/ usr / local / django / mysite / scr /中,那么很明显你应该使用:

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.scr.settings'

答案 1 :(得分:2)

原来的答案是我错误地认为你的sys.path不正确。

新理论是,您说您的settings.py位于.../django/mysite/scr/,因此指定mysite.settings无效。

从技术上讲,假设mysite__init__.py个文件,设置文件的路径为mysite.scr.settings

答案 2 :(得分:1)

你可以试试几件事。

测试服务器“runserver”是否有效?如果没有,可能是您的设置文件中有错误或其他文件加载

'安装的应用程序'的顺序非常重要。对于我的一个项目,当我更改已安装应用程序的顺序时,此错误就消失了。

我之前问过的这个问题的答案可能会有所帮助。 How do I stop getting ImportError: Could not import settings 'mofin.settings' when using django with wsgi?