Установка DJANGO_SETTINGS_MODULE под virtualenv? - PullRequest
12 голосов
/ 29 сентября 2011

Я хочу, чтобы переменная окружения 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 ]

20 голосов
/ 29 сентября 2011

Один из способов сделать это раньше - добавить оператор экспорта в конец ./bin/activate

export DJANGO_SETTINGS_MODULE="myproject.settings"
14 голосов
/ 29 сентября 2011

Вы были на правильном пути, но хотите использовать postactivate крюк вместо postmkvirtualenv.

Не восстанавливается автоматически при деактивации. К счастью, есть хук postdeactivate, который можно использовать для ручного восстановления любых переменных среды, которые вы изменили при активации.

...