我很惊讶我找不到与此相关的现有问题.也许有一个明显的答案,我忽略了.但是,让我说我的django项目名为"foo".foo的设置在Two Scoops书的鼓励下在多个文件中定义.
settings/ local.py dev.py prod.py
Dev和prod是同一个repo的独立实例,这两个实例都是通过我的Webfaction帐户使用Apache提供的.对于我希望它使用的开发站点以及我希望它使用settings/dev.py
的prod站点settings/prod.py
.我的wsgi.py文件包含以下行:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "foo.settings.prod")
这是我感到困惑的地方.如何加载开发站点foo.settings.dev
?
我可以用多个文件替换wsgi.py,然后在每个httpd.conf文件中将WSGIScriptAlias分配给正确的wsgi文件吗?
wsgi/ dev.py prod.py
谢谢
另一种方法是让每个站点在不同的mod_wsgi守护进程组中运行.将这些守护程序进程组命名为"local","dev"和"prod".
在您的WSGI脚本文件中,您可以使用:
import mod_wsgi os.environ['DJANGO_SETTINGS_MODULE'] = 'foo.settings.%s' % mod_wsgi.process_group
换句话说,使用mod_wsgi守护程序进程组的名称来动态选择配置.