Вы не можете сделать это, как вы описали здесь. Но, возможно, было бы лучше сделать шаг назад и спросить, почему вы это делаете?
Поскольку вы использовали тег Django, можем ли мы предположить, что вы запускаете приложение Django из какого-то другого процесса (дляНапример, приложение Apache WSGI)? Затем, в качестве примера, вы просто определили бы эти переменные в / etc / apache2 / envvars, чтобы они были доступны процессу Apache (и, следовательно, этот код в приложении Django). Аналогично, определение ваших переменных в / etc / environment может принести вам пользу. Это зависит только от структуры вызова / развертывания вашего приложения.
Кроме того, сохраняем ваши переменные в файле .env
и читаем это (вместо того, чтобы делать subpprocess
вызов скрипта Shell, который нене безопасно) использование модуля типа django-dotenv
и выполнение чего-то вроде:
if not os.environ.get('DB_PASSWORD'):
import dotenv
dotenv.read_dotenv(os.path.join(os.path.dirname(__file__), ".env"), True)
DB_PASSWORD = os.environ.get('DB_PASSWORD', '')
также будет хорошим подходом. Если вы используете Django, вы можете инициализировать его в файле settings.py
в среде dev
.