13

我希望环境变量 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

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

另外,停用后会恢复吗?如果没有,是否有一些自然的方法可以恢复它?

4

2 回答 2

21

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

export DJANGO_SETTINGS_MODULE="myproject.settings"
于 2011-09-29T14:43:08.740 回答
14

你在正确的轨道上,但你想使用postactivate钩子而不是postmkvirtualenv.

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

于 2011-09-29T15:07:13.760 回答