Я не могу понять, в чем заключается ошибка, когда при применении миграции на сервере django я пытаюсь подключить базу данных PostgreSQL

Ошибка выглядит следующим образом, Невозможно подключиться к PostgreSQL: Traceback (most recent call last):your text Файл "manage.py", строка 22, in main()your text Файл "manage.py", строка 18, в main execute_from_command_line(sys.argv) Файл "C:\python\SkillFactory\Sprint\env\lib\site-packages\django\core\management_init_.py", строка 442, in execute_from_command_line utility.execute() Файл "C:\python\SkillFactory\Sprint\env\lib\site-packages\django\core\management_init_.py", строка 436, in execute self.fetch_command(subcommand).run_from_argv(self.argv) Файл "C:\python\SkillFactory\Sprint\env\lib\site-packages\django\core\management\base.py", строка 412, in run_from_argv self.execute(*args, **cmd_options) Файл "C:\python\SkillFactory\Sprint\env\lib\site-packages\django\core\management\base.py", строка 458, in execute output = self.handle(*args, **options) Файл "C:\python\SkillFactory\Sprint\env\lib\site-packages\django\core\management\base.py", строка 106, в wrapper res = handle_func(*args, **kwargs) Файл "C:\python\SkillFactory\Sprint\env\lib\site-packages\django\core\management\commands\migrate.py", строка 117, в handle executor = MigrationExecutor(connection, self.migration_progress_callback) Файл "C:\python\SkillFactory\Sprint\env\lib\site-packages\django\db\migrations\executor.py", строка 18, in init self.loader = MigrationLoader(self.connection) Файл "C:\python\SkillFactory\Sprint\env\lib\site-packages\django\db\migrations\loader.py",

строка 58, in <<<9>

Файл настроек с фрагментом настроек базы данных выглядит следующим образом

load_dotenv()

print("Database Name:", os.getenv('FSTR_DB_NAME'))
print("Database User:", os.getenv('FSTR_DB_USER'))
print("Database Password:", os.getenv('FSTR_DB_PASSWORD'))
print("Database Host:", os.getenv('FSTR_DB_HOST'))
print("Database Port:", os.getenv('FSTR_DB_PORT'))

BASE_DIR = Path(file).resolve().parent.parent

# Настройки базы данных
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': os.getenv('FSTR_DB_NAME'),
        'USER': os.getenv('FSTR_DB_USER'),
        'PASSWORD': os.getenv('FSTR_DB_PASSWORD'),
        'HOST': os.getenv('FSTR_DB_HOST'),
        'PORT': os.getenv('FSTR_DB_PORT'),
    }
}

У меня также есть файл.env, который содержит все данные, необходимые для подключения.

Сразу скажу, что мне нужно получить данные через переменные окружения. Я никогда не сталкивался с этим и не работал с этим, если есть какие-то источники, которые говорят об этом, я буду только рад, если кто-то даст мне ссылку, которая расскажет мне, как все сделать правильно.

Ваша ошибка django.core.exceptions.ImproperlyConfigured вызвана тем, что Django не может найти или правильно интерпретировать настройки, указанные в конфигурационных файлах вашего проекта. В данном случае, похоже, что указанный вами движок базы данных в настройках Django не соответствует реально используемой базе данных. Пожалуйста, проверьте и согласуйте конфигурацию движка базы данных.

Для управления переменными окружения я использую python-decouple, который довольно эффективен.

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