1

我的项目位于:/home/projects/testing 下,我将其添加到 Centos 机器上的 /etc/httpd/conf/httpd.conf 文件的底部,但这不起作用,

<Location "/testing/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE testing.settings
    PythonOption django.root /testing
    PythonDebug On
    PythonPath "['/home/projects/'] + sys.path"
</Location>

但是例如在请求http://localhost/testing/jobs时,我得到:

Mod_python 错误:“PythonHandler django.core.handlers.modpython”

回溯(最近一次通话最后):

  文件“/usr/lib/python2.4/site-packages/mod_python/apache.py”,第 299 行,在 HandlerDispatch
    结果 = 对象(请求)

......

 文件“/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/conf/__init__.py”,第 75 行,在 __init__
    raise ImportError, "Could not import settings '%s' (它在 sys.path 上吗?是否有语法错误?): %s" % (self.SETTINGS_MODULE, e)

ImportError:无法导入设置“testing.settings”(它在 sys.path 上吗?是否有语法错误?):没有名为 testing.settings 的模块

4

2 回答 2

3

您需要 PythonPath 中的项目文件夹和测试文件夹,因为您的项目使用的路径中没有“测试”:

PythonPath "['/home/projects/', '/home/projects/testing/'] + sys.path"
于 2010-03-30T12:36:47.807 回答
0

路径对我来说看起来不错,我刚刚仔细检查了sys.path带有斜杠的项目。

我建议这是一个文件权限问题:

  • 运行的用户 apache 是否有权访问项目文件?
  • selinux 是否阻止访问?
于 2010-03-30T12:47:18.737 回答