我正在运行apache / os x并提供localhost页面来测试我的笔记本电脑上的django。我已经验证了以下所有内容
•python工作正常且最新(2.5.1)
•django可用于python并且是最新的(1,1,0,'final',0)
•我的apache配置中的apache模块之间加载了mod_wsgi模块 - 检查!
•django应用程序的路径在vhost.conf中,具有适当的权限 - 确定!
•mod_wsgi vhost.conf在预期的django应用程序目录中测试并正常运行 - 通过localhost测试应用程序拉出200 OK,'你好世界!'
•使用'django-admin.py startproject mysite'创建了django默认应用程序
•使用开发服务器,django应用程序在端口8000上正常工作 - 好的!
•新的django应用程序(名为mysite)的路径在python路径上 - 已验证!
所有这些都经过验证,当我使用DJANGO_SETTINGS_MODULE settings.py运行wsgi脚本并加载django应用程序时,我仍然得到'无法导入设置'mysite.settings'等。
由于这似乎涵盖了基本的故障排除,我可以采取进一步的步骤来找出问题吗?
=====
Python路径有效,经过验证。 django开发服务器在端口8000上使用命令行运行正常。
apache配置已加载典型模块: LoadModule wsgi_module libexec / apache2 / mod_wsgi.so
vhost.conf包含在apache配置中,如下所示
NameVirtualHost:* .80
<Directory /users/useracct/scripts/python>
Order allow,deny
Allow from all
</Directory>
<Directory /Library/WebServer/Documents>
Order allow,deny
Allow from all
</Directory>
WSGIDaemonProcess localhost user=username group=staff threads=25
WSGIProcessGroup localhost
WSGIScriptAlias /mysite /users/useracct/Sites/mysite/mysite.wsgi
<Directory /users/useracct/Sites/mysite/>
Allow from all
</Directory>
DocumentRoot /Users/useracct/Sites/
Virtualenv没有设置此帐户,因此这是一个可能的原因。
=======================
和wsgi脚本文件(试图保持最小化):
import os, sys
path = '/users/usracct/sites/mysite'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
答案 0 :(得分:2)
尝试将/ users / useracct / Sites / a添加到wsgi文件中的pythonpath:
import os
import sys
.....
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
....