我需要在同一个域下将不同的Django项目与Django CMS放在一起,例如:
通常我会为每个域/项目使用virtualenv和mod_wsgi。我需要不同的数据库,媒体文件和Django版本。
将项目放在不同的子域下不是一种选择。
有可能吗?我该如何设置服务器?有什么警告我应该知道吗?
答案 0 :(得分:2)
是
您可以配置Apache / mod_wsgi来重写URL并将它们定向到不同的WSGI文件。这允许您为每个站点设置完全不同的virtualenvs,数据库和Django版本。例如:
WSGIScriptAlias /2012/ /location/to/my/files/website1.wsgi
WSGIScriptAlias /2014/ /location/to/my/files/website2.wsgi
然后,这些WSGI文件中的每一个都可以使用自己的Django版本和设置将执行指向特定virtualenv中的文件。
如果您可以放宽需要不同Django版本的约束,那么您可以使用django.contrib.sites
框架。这允许您为每个“网站”定义多个Site
个对象。然后,您可以在运行一个Django安装时将内容与每个站点相关联。