我在同一台机器上有两个 django 项目。它们是使用标准 django/apache/mod_python 配置设置的,基本上:
<Location "/mysite">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonOption django.root /mysite
PythonDebug On
PythonPath "['/path/to/project/parent'] + sys.path"
</Location>
其中 mysite 因两个项目而异(在 Location 指令、DJANGO_SETTINGS_MODULE 和 django.root 中)。PythonPath 也有所不同。
当两个 Location 指令中只有一个存在时,无论哪个站点都可以正常工作。任何一种配置都可以单独工作。
当我有两个 Location 指令(指不同的 url 路径)时,我只能访问一个站点。我有“/portal”和“/apitest”的位置指令,当我访问http://mydomain.com/apitest时,我总是从“/portal”获取代码。
是否可以仅通过包含多个 Location 指令来为同一主机上的两个 django 站点提供服务,或者是否有必要使用 VirtualHosts?
谢谢,大卫