Django-modpython部署项目

时间:2010-06-17 09:15:47

标签: python django mod-python

我正在使用linux中的mod_python在apache服务器上部署Django项目。我创建了一个目录结构,如: / var / www / html / django / demoInstall其中demoInstall是我的项目。在httpd.conf中我输入了以下代码。

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

</Location>

它让我获得了django环境,但问题是urls.py中提到的网址无法正常工作。

在我的网址文件中,我提到了网址:

 (r'^$', views.index),

现在,在浏览器中,我将URL设置为:http://domainname/django/demoInstall/,我期待调用views.index。但我想这只是网址:http://domainname/

当我将网址映射更改为:

  (r'^django/demoInstall$', views.index),

它工作正常。请建议,因为我不想更改url配置文件中的所有映射。

提前致谢。

2 个答案:

答案 0 :(得分:2)

有一个相当简单的方法可以使用django,而不必触及apache。

将您的urls.py重命名为其他内容,例如site_urls.py

然后创建一个新的urls.py,其中包含

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    (r'^django/demoInstall/', include('site_urls.py')),
)

这将确保所有网址反转继续有效。

答案 1 :(得分:0)

应该是:

PythonOption django.root /django/demoInstall

即,必须匹配Location指令中的子URL。

您不应该在urls.py中使用该前缀。

相关问题