1

我已经在 django 中创建了一个名为“kazbah”的站点,并且正在尝试部署。

kazbah 站点的所有代码都在 /home/git/DjangoProjects/kazbah 中,我的 httpd.conf 如下所示:

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

我收到以下错误:

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

知道为什么这个菜鸟会失败吗?

4

5 回答 5

2

对于位于/var/www/bbb(称为“bbb”)下的项目,我在配置文件中设置了以下内容:

<Location "/">
        SetHandler python-program
        PythonHandler django.core.handlers.modpython
        SetEnv DJANGO_SETTINGS_MODULE bbb.settings
        PythonPath "['/var/www/', '/var/www/bbb/'] + sys.path"
        PythonDebug On
</Location>
于 2009-02-01T06:16:44.877 回答
2

我已经看过几次了。每次都是因为我错误地设置了这一行:

SetEnv DJANGO_SETTINGS_MODULE kazbah.settings

尽管看起来不错,但 Django(实际上是 python)正在寻找一个与我想要的文件夹不同的文件夹。尝试调整它,将其更改为:

SetEnv DJANGO_SETTINGS_MODULE settings

此外,您可以在此处进行调整:

PythonPath "['/home/git/DjangoProjects'] + sys.path"

您可能需要将其设置为:

PythonPath "['/home/git/DjangoProjects/kazbah'] + sys.path"

或类似的东西。如果没有看到您的实际文件夹设置,很难确切知道。:)

于 2009-02-01T06:54:46.657 回答
1

路易斯,你的配置看起来和我切换到 mod_wsgi 之前的配置一模一样,所以肯定有其他问题。也许您在 /home/git/DjangoProjects/kazbah 中缺少一个 __init__.py 文件?

于 2009-02-01T06:23:55.017 回答
0

我很确定你可以做 sys.path 的事情——它在 django 文档中。

当我尝试另一个教程(我认为这有点过时)时,我可能会查看 django 文档http://docs.djangoproject.com/en/dev/howto/deployment/modpython/ - http://www.jeffbaier .com/2007/07/26/installing-django-on-an-ubuntu-linux-server/

于 2009-02-01T05:58:14.040 回答
0

好的,也许您的设置文件中有语法错误。

尝试这个:

$ cd /home/git/DjangoProjects/kazbah
$ python
>>> import settings

如果有任何错误,这样做会给你一个更好的错误消息。

于 2009-02-01T19:49:33.377 回答