您好 我花了两天时间来解决这个错误。无法弄明白。
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。然后我添加的路径消失了......
谁知道发生了什么事?感谢
答案 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?