ฉันได้ปฏิบัติตามบทช่วยสอน "การปรับใช้แอปพลิเคชัน 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 ในพื้นที่ของฉัน
มีคำถาม stackoverflow อีกข้อหนึ่งที่ยังไม่ได้ให้วิธีแก้ปัญหาเช่นกัน Elastic Beanstalk ไม่ได้สร้างพารามิเตอร์ RDS
ฉันให้มันทำงานบน AWS มันแค่ทำให้อินสแตนซ์ในเครื่องทำงานซึ่งเป็นเรื่องยาก