Не удается запустить 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"