宝贝在os x上采用django和mod-wsgi解决方案

时间:2010-02-25 17:42:51

标签: python django apache macos mod-wsgi

我正在运行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()

1 个答案:

答案 0 :(得分:2)

尝试将/ users / useracct / Sites / a添加到wsgi文件中的pythonpath:

import os
import sys
.....
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
....