Django应用程序下的mod wsgi如何不消费u

2024-10-06 14:30:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django应用程序,我正在从mod_python移植到mod_wsgi。在

在mod python下,我能够将http://example.com/A和{a2}映射到同一个Django应用程序。但是,http://example.com/C(或任何未指定的内容)根本不会调用python、wsgi或Django。在

此外,Django仍然能够“看到”路径开始处的“/A”和“/B”。在

相反,当我使用mod\wsgi进行配置时,我可以使用一个简单的WSGIScriptAlias指令运行Django应用程序:

WSGIScriptAlias / /path/to/my/wsgi.py

但是这个方法让我的Django应用处理“/C”(和任何无效路径),这是我不想要的。在

所以我试了一下:

^{pr2}$

这个方法调用我的Django应用程序,但是Django应用程序没有“看到”url的“/A”或“/B”部分。在

最后,将WSGIScriptAlias放在<Location>内会出现错误:

WSGIScriptAlias not allowed here

如何配置mod_gwsgi,以便将路径的第一部分传递给Django,而Apache只将少数路径传递给Django,而所有这些路径都传递给同一个Django应用程序?在

这是我以前的mod_python配置,它起作用了:

<Location "/A/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE path.to.my.django.settings
</Location>

<Location "/B/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE path.to.my.django.settings
</Location>

Tags: topathdjango方法路径commod应用程序