Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在os x上使用django和mod wsgi的解决方案的初步步骤_Python_Django_Apache_Macos_Mod Wsgi - Fatal编程技术网

Python 在os x上使用django和mod wsgi的解决方案的初步步骤

Python 在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应用程序目录中测试并正常工作 -通

我正在运行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:.80


尝试将/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__)) + '/..')
....