【问题标题】:Deploying django app on Apache mod_python在 Apache mod_python 上部署 django 应用程序
【发布时间】:2010-10-04 18:04:59
【问题描述】:

我已经在 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 的模块

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

【问题讨论】:

    标签: django apache mod-python


    【解决方案1】:

    对于位于/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>
    

    【讨论】:

      【解决方案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"
      

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          我很确定你可以做 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/

          【讨论】:

          • 请更新您的问题,而不是用非答案污染答案列表。这不是论坛主题。
          【解决方案5】:

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

          试试这个:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-08-17
            • 1970-01-01
            • 2018-11-01
            • 2012-12-20
            • 2017-10-21
            • 2017-08-11
            • 2010-11-07
            相关资源
            最近更新 更多