如何在virtualenv中选择Django配置设置一次

时间:2016-06-03 05:52:17

标签: python django virtualenv

我正在阅读一些材料以便在Django中更好地组织我的代码,我开始阅读:http://www.revsys.com/blog/2014/nov/21/recommended-django-project-layout/ ...认为为<build> <plugins> <plugin> <groupId>com.liferay.maven.plugins</groupId> <artifactId>liferay-maven-plugin</artifactId> <version>${liferay.maven.plugin.version}</version> <configuration> <autoDeployDir>${liferay.auto.deploy.dir}</autoDeployDir> <appServerDeployDir>${liferay.app.server.deploy.dir}</appServerDeployDir> <appServerLibGlobalDir>${liferay.app.server.lib.global.dir}</appServerLibGlobalDir> <appServerPortalDir>${liferay.app.server.portal.dir}</appServerPortalDir> <liferayVersion>${liferay.version}</liferayVersion> <pluginType>portlet</pluginType> </configuration> <executions> <execution> <id>maven-deploy</id> <phase>install</phase> <goals> <goal>deploy</goal> </goals> </execution> </executions> </plugin> </plugins> </build>和{{设置不同的配置设置是个好主意1}},主要是因为数据库。

之后在帖子中解释说我们可以做两件事之一来选择我们想要的配置设置:

production

development

我认为第一个选项更好......所以每次初始化我的virtualenv时,在运行export DJANGO_SETTINGS_MODULE="foo.settings.production"之前我需要做:./manage.py migrate —settings=foo.settings.development ...

嗯,我相信如果我编辑python manage.py runserver并加入export DJANGO_SETTINGS_MODULE="foo.settings.development"我就不必再次这样做了。但这将与我所有的艺术家共享,我不想要这个。

总结一下:我想在我的virtualenv中定义一次~/.bashrc并将其保留在那里。独立(这是virtualenvs的观点,对吧)......

1 个答案:

答案 0 :(得分:1)

如果您没有使用virtualenvwrapper,可以将其放在$VIRTUAL_ENV/bin/activate脚本中。像

export DJANGO_SETTINGS_MODULE='foo.settings.development'

在同一个脚本中你可以看到一个去激活函数,你可以在那里取消设置环境变量,这将在停用virtualenv时被调用

unset DJANGO_SETTINGS_MODULE

如果您使用的是virtualenvwrapper,则可以在postactivate中设置环境变量,并在postdeactivate脚本中取消设置