Я выполнил руководство «Развертывание приложения Django в AWS Elastic Beanstalk», предоставленное Amazon, но я пытаюсь запустить проект локально и получаю ошибку KeyValue, которая Я не смог найти решение для.
При выполнении команды: $ ./manage.py help
Я получаю эту ошибку:
File "/Users/dave/Sites/djangodev/djangodev/settings.py", line 17, in <module>
'NAME': os.environ['RDS_DB_NAME'],
File "/Users/dave/.virtualenvs/djangodev/bin/../lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'RDS_DB_NAME'`
На самом деле я пытаюсь запустить $ ./manage.py runserver
, но это возвращает ошибку runserver не существует. Это потому, что в моем файле settings.py есть ошибка.
settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': os.environ['RDS_DB_NAME'],
'USER': os.environ['RDS_USERNAME'],
'PASSWORD': os.environ['RDS_PASSWORD'],
'HOST': os.environ['RDS_HOSTNAME'],
'PORT': os.environ['RDS_PORT'],
}
}
Это отлично работает на AWS. Локально нет. И я не удивлен, поскольку RDS_DB_NAME отсутствует в моем локальном словаре os.environ.
Был еще один вопрос о стеке, который также не дал решения. Elastic Beanstalk не создает параметры RDS
У меня он работает на AWS, просто запустить локальный экземпляр сложно.