Я пытаюсь настроить базу данных mysql и защитить конфиденциальную информацию в файле .env. Мне удалось успешно сохранить базу данных NAME
, но использование переменных окружения для PASSWORD
и HOST
выдает две разные ошибки:
Ошибка для PASSWORD
:
Exception Type: OperationalError at /
Exception Value: (1045, "Access denied for user 'studio413'@'10.0.0.32' (using password: NO)")
Ошибка для HOST
:
AttributeError at /
'NoneType' object has no attribute 'startswith'
Помещение фактических PASSWORD
и HOST
непосредственно в settings.py
работает отлично, и я считаю, что правильно настроил переменные среды, так как база данных NAME
работает нормально.
Ввод echo $DATABASE_PASSWORD
и echo $DATABASE_HOST
в мою консоль дает правильную информацию из моего файла .env.
Я использую PythonAnywhere и следовал инструкциям для настройка переменных среды здесь: https://help.pythonanywhere.com/pages/environment-variables-for-web-apps/
Если это поможет, вот мой файл settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'studio413$default',
'USER': os.getenv("DATABASE_USER"),
'PASSWORD': os.getenv("DATABASE_PASSWORD"),
'HOST': os.getenv("DATABASE_HOST"),
}
}
Если кто-нибудь может помочь мне решить эту проблему, Я был бы очень признателен за это!
Примечание. Я пытался предоставить полный возврат для каждой ошибки, но stackoverflow не позволял мне публиковать их (он думал, что я публиковал спам).