Не удается запустить python manage.py migrate, хотя у меня есть некоторые переменные среды в файле настроек

Я использую 2 отдельных файла для настроек в моем Django проекте один для производства, а другой для отладки, вот как они выглядят :

base.py

local.py

from .base import *

DEBUG = True


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

все работает отлично, пока я не попытался выполнить команду python manage.py migrate --settings=arkb_eh.settings.local, которая выдает ошибку, что означает, что она не может открыть данные Env vars. вот ошибка :

    SECRET_KEY = os.environ['secret_key']
  File "C:\Users\ahmed\AppData\Local\Programs\Python\Python310\lib\os.py", line 679, in __getitem__
    raise KeyError(key) from None
KeyError: 'secret_key'

Ошибка означает, что переменная secret_key отсутствует в вашем окружении. Вы должны установить ее следующим образом:

secret_key=abc python manage.py migrate --settings=arkb_eh.settings.local

Или вот так:

secret_key=abc
export secret_key
python manage.py migrate --settings=arkb_eh.settings.local

Другим вариантом может быть прямое указание ключа в файле настроек:

# settings.py

SECRET_KEY = "abc"
Вернуться на верх