我希望环境变量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
有人可以让我直截了当;我应该把那个出口放在哪里?
另外,当我停用时它会恢复吗?如果没有,是否有一些自然的方法来恢复它?
答案 0 :(得分:20)
之前我做过的一种方法是在./bin/activate的末尾添加导出语句
export DJANGO_SETTINGS_MODULE="myproject.settings"
答案 1 :(得分:14)
您走在正确的轨道上,但您想使用postactivate
挂钩代替postmkvirtualenv
。
停用时不会自动恢复。值得庆幸的是,您可以使用postdeactivate
挂钩手动恢复在激活时更改的任何环境变量。