在virtualenv下设置DJANGO_SETTINGS_MODULE?

时间:2011-09-29 14:24:45

标签: django virtualenvwrapper

我希望环境变量DJANGO_SETTINGS_MODULE根据我对工作的说法而改变。在我看来,我想在.virtualenvs/postmkvirtualenv中设置它,但我的审判没有效果。

ftpmaint@millstone:~$ cat ~/.virtualenvs/postmkvirtualenv
#!/bin/bash
# This hook is run after a new virtualenv is activated.
export DJANGO_SETTINGS_MODULE=newproject.settings
ftpmaint@millstone:~$ echo $DJANGO_SETTINGS_MODULE
az.settings
ftpmaint@millstone:~$ workon newproject
(newproject)ftpmaint@millstone:~$ echo $DJANGO_SETTINGS_MODULE
az.settings

有人可以让我直截了当;我应该把那个出口放在哪里?

另外,当我停用时它会恢复吗?如果没有,是否有一些自然的方法来恢复它?

2 个答案:

答案 0 :(得分:20)

之前我做过的一种方法是在./bin/activate的末尾添加导出语句

export DJANGO_SETTINGS_MODULE="myproject.settings"

答案 1 :(得分:14)

您走在正确的轨道上,但您想使用postactivate挂钩代替postmkvirtualenv

停用时不会自动恢复。值得庆幸的是,您可以使用postdeactivate挂钩手动恢复在激活时更改的任何环境变量。