Как передать переменные env в django в production

Я развертываю приложение Django с помощью Gunicorn. В моей Dev установке я использовал библиотеку dotenv для импорта переменных окружения в верхнюю часть моего settings.py следующим образом:

from dotenv import load_dotenv
load_dotenv()

У меня есть два файла настроек; один - базовые настройки (settings.py), а другой - производственные (settings_prod.py), которые переопределяют некоторые переменные таким образом:

from .settings import *

DEBUG = False
ALLOWED_HOSTS = [
    'subdomain.example.com',
]

AUTH_PASSWORD_VALIDATORS = [
    # ...
]
STATIC_URL = os.environ.get('STATIC_URL', '/static/')
STATIC_ROOT = os.environ.get('STATIC_ROOT', BASE_DIR / 'static')

Я загружаю этот файл в Gunicorn Service следующим образом:

[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=user
Group=user-group
WorkingDirectory=/home/myApp/core/app
Environment="DJANGO_SETTINGS_MODULE=application.settings_prod"
ExecStart=/home/myApp/core/app/venv/bin/gunicorn \
        --log-level=debug \
        --error-logfile /home/myApp/core/database/logs/gunicorn.errors.log \
        --access-logfile /home/myApp/core/database/logs/gunicorn.log \
        --workers 3 \
        --bind unix:/run/gunicorn.sock \
        application.wsgi:application
[Install]
WantedBy=multi-user.target

Я пробовал добавить EnvironmentFile=/home/myApp/core/app/.env в служебный файл, но это не помогло

Вернуться на верх