我有一个Django项目,可以与它附带的开发服务器一起使用。
当我使用“django manage.py runserver”时,根本没有产生任何错误,并且该应用程序工作正常,但当我尝试将其与mod_wsgi和Apache一起使用时,浏览器显示“内部服务器错误”,其中包含500个错误代码,它在Apache错误日志中生成导入错误。
以下是日志中的错误:
ImportError:没有名为registration
的模块我正在使用Django注册模块,该模块位于如下路径中:
/opt/raj/photos/registration
我知道注册应用程序在路径中,因为我可以启动Python shell,导入sys,并使用sys.path获取路径列表。
以下是Python shell输出的一些路径:
sys.path中 ['','/ opt / raj / pyamf','/ opt / raj','/ opt / raj / pictures','/ opt / raj / pictures / registration','/ usr / lib / python2.6' ,....]
任何想法都会受到赞赏。
答案 0 :(得分:2)
它是否在webserver的pythonpath中?所有那些'/ opt'路径通常都不在标准的python路径中,所以有些东西会为你添加这些我猜的。你确定它也会被添加到网络服务器进程中,还是只为你的用户在某个shell配置文件中设置了PYTHONPATH?
使用mod_python时有一个PythonPath指令,mod_wsgi有类似的内容吗?
这几乎可以肯定,网络服务器的路径与您的路径不同,所以我会将搜索重点放在这些区域。