Python 如何在单个apache服务上设置多个django版本?

Python 如何在单个apache服务上设置多个django版本?,python,django,apache,Python,Django,Apache,我使用的是Windows XP,我想知道如何通过虚拟主机(当然)在单个apache服务上创建多个django版本 我也尝试用一个python实例来实现这一点。我应该为每个django版本创建一个python实例,还是django只需要它的鸡蛋就可以工作,这样我就可以在一个python版本中有几个鸡蛋?您可以在httpd.conf中执行类似的操作 NameVirtualHost 0.0.0.0:80 <VirtualHost 0.0.0.0:80> ServerName mys

我使用的是Windows XP,我想知道如何通过虚拟主机(当然)在单个apache服务上创建多个django版本


我也尝试用一个python实例来实现这一点。我应该为每个django版本创建一个python实例,还是django只需要它的鸡蛋就可以工作,这样我就可以在一个python版本中有几个鸡蛋?

您可以在httpd.conf中执行类似的操作

NameVirtualHost 0.0.0.0:80
<VirtualHost 0.0.0.0:80>
    ServerName myserver.com
    ServerAdmin myemail@gmail.com
    DocumentRoot "/path/to/html/root"
    ErrorLog "/path/to/apache-error.log"
    CustomLog "/path/to/apache-access.log" common

    Options ExecCGI FollowSymLinks MultiViews

    AddHandler wsgi-script .wsgi
    WSGIDaemonProcess djangoapp1
    WSGIProcessGroup djangoapp1
    WSGIScriptAlias / /path/to/djangoapp1.wsgi

    Alias /static /path/to/static/files

    DirectoryIndex index.html index.cgi

    AddHandler cgi-script .cgi .pl
</VirtualHost>

NameVirtualHost 0.0.0.0:81
<VirtualHost 0.0.0.0:81>
    ServerName myserver.com
    ServerAdmin myemail@gmail.com
    DocumentRoot "/path/to/html/root"
    ErrorLog "/path/to/apache-error.log"
    CustomLog "/path/to/apache-access.log" common

    Options ExecCGI FollowSymLinks MultiViews

    AddHandler wsgi-script .wsgi
    WSGIDaemonProcess djangoapp2
    WSGIProcessGroup djangoapp2
    WSGIScriptAlias / /path/to/djangoapp2.wsgi

    Alias /static /path/to/static/files

    DirectoryIndex index.html index.cgi

    AddHandler cgi-script .cgi .pl
</VirtualHost>
方法1: 将django源放在您想要的任何位置,并在
manage.py
wsgi.py
中手动指定django源的路径:

import os
os.path.insert(0, 'path-to-django-source');
您也可以使用。Virtualenv会自动修复控制台应用程序的路径,但是对于
wsgi.py
,您仍然需要手动记录路径

方法2: 使用和,它将为您完成所有工作,包括:

  • 唐洛兹·德扬戈
  • 下载其他模块
  • project dir\bin\wsgi
  • project dir\bin\django.exe创建manage.py
所有这一切都是通过一个配置文件
buildout.cfg
完成的-在这里列出您的模块和其他设置,然后运行命令:
buildout-N

然而,如果你有很紧的截止日期,构建可能不是一个好的解决方案,因为你需要了解一些关于它的东西,但是如果你计划做更多的python应用程序,我绝对建议你尝试一下

以下是django+构建设置的一些示例:

对您的评论进行更新 不能在系统范围内安装两个django版本

但您可以做的是:

  • 不要安装django,只需将
    django base/django
    文件夹放到项目路径中即可。您必须手动编译国际化文件(如果使用i18n):

  • 或者,使用
    python setup.py install安装django,但使用额外参数更改安装目标。Python文档


  • 我不想使用virtualenv,因为似乎没有它我可以做我需要的事情。更改egg位置似乎很好,但如果我在python上安装了两个版本的django,他会为它们创建一个django文件夹。不管怎样,我还是会试试。我已经添加了几行关于如何安装
    的django版本。
    import os
    os.path.insert(0, 'path-to-django-source');
    
     cd django\conf
     python ..\..\manage.py compilemessages