Python 在os x上使用django和mod wsgi的解决方案的初步步骤
我正在运行apache/os x,并提供本地主机页面,以便在我的笔记本电脑上测试django。我已经验证了以下所有内容 •python运行良好且最新(2.5.1) •django可供python使用,并且是最新版本(1,1,0,'最终版',0) •mod_wsgi模块在我的apache配置中的apache模块之间加载-检查 •django应用程序的路径位于vhost.conf中,具有适当的权限-确定 •mod_wsgi vhost.conf已在预期的django应用程序目录中测试并正常工作 -通过localhost测试应用程序可以调出200个OK,‘HelloWorld!’ •django默认应用程序已使用“django-admin.py startproject mysite”创建 •django应用程序使用开发服务器在端口8000上运行良好-OK •新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:.80Python 在os x上使用django和mod wsgi的解决方案的初步步骤,python,django,apache,macos,mod-wsgi,Python,Django,Apache,Macos,Mod Wsgi,我正在运行apache/os x,并提供本地主机页面,以便在我的笔记本电脑上测试django。我已经验证了以下所有内容 •python运行良好且最新(2.5.1) •django可供python使用,并且是最新版本(1,1,0,'最终版',0) •mod_wsgi模块在我的apache配置中的apache模块之间加载-检查 •django应用程序的路径位于vhost.conf中,具有适当的权限-确定 •mod_wsgi vhost.conf已在预期的django应用程序目录中测试并正常工作 -通
尝试将/users/useracct/Sites/a添加到wsgi文件中的pythonpath:
import os
import sys
.....
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
....
特别是,请关注
sys.path
设置,并为您的Django应用程序提供工作目录(包括settings.py
文件)。此外,请通过/manage.py runserver
检查应用程序是否正确启动,发布任何错误消息。发布Apache配置代码片段,显示如何将应用程序映射到mod_wsgi。特别是,演示如何在Apache配置中设置Django应用程序的路径,以及您是在嵌入式模式下使用mod_wsgi还是在守护程序模式下使用mod_wsgi,以及wsgi脚本文件中有什么内容?格雷厄姆,正如你在博客上所说,配置错误“除了你自己,没有人可以责备”。在这方面,开发人员社区中仍然存在一个特定的绊脚石(包括本案例),即建立具有有意义反馈的开发环境所需的曲线。人们不禁要问,为什么配置过程在没有反馈的情况下不断发展,从而使新项目的基本指标就位。(因此,本文的标题为“婴儿步”)。我想在某个地方有一个通常不被注意的日志。顺便说一句,mod_wsgi是一件很棒的事情,但是我发现python环境仍然很难进行故障排除。我正在做的一件事是建立一个更加注重反馈的环境。某种最大化测试循环的方法-但没有GUI。当您依赖GUI时,它真的开始走下坡路了。现在这是一个争论的话题。你真的读过mod_wsgi站点上的Django集成指南吗?它非常明确地告诉您需要添加该目录。这里的答案是有点聪明,即,尝试相对于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()
import os
import sys
.....
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
....