Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS Beanstalk Django/Python运行本地问题_Python_Django_Amazon Web Services_Amazon Ec2_Amazon Elastic Beanstalk - Fatal编程技术网

AWS Beanstalk Django/Python运行本地问题

AWS Beanstalk Django/Python运行本地问题,python,django,amazon-web-services,amazon-ec2,amazon-elastic-beanstalk,Python,Django,Amazon Web Services,Amazon Ec2,Amazon Elastic Beanstalk,我已经完成了Amazon提供的“将Django应用程序部署到AWS Elastic Beanstalk”教程,但我试图在本地运行该项目,我遇到了一个KeyValue错误,我无法找到解决方案 运行命令时: $。/manage.py帮助 返回此错误: File "/Users/dave/Sites/djangodev/djangodev/settings.py", line 17, in <module> 'NAME': os.environ['RDS_DB_NAME'], Fi

我已经完成了Amazon提供的“将Django应用程序部署到AWS Elastic Beanstalk”教程,但我试图在本地运行该项目,我遇到了一个KeyValue错误,我无法找到解决方案

运行命令时:
$。/manage.py帮助

返回此错误:

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'`
这在AWS上运行良好。本地情况并非如此。我并不感到惊讶,因为RDS_DB_名称不在我的本地os.environ字典中

还有一个stackoverflow问题也没有提供解决方案。


我让它在AWS上运行,只是让一个本地实例运行起来很困难

我花了很多时间才找到解决办法。您需要一个到不同数据库的本地回退

settings.py文件中,将数据库变量替换为:

DATABASES = {}

try:
    from local_settings import *
except ImportError, e:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': os.environ['RDS_DB_NAME'],
            'USER': os.environ['RDS_USERNAME'],
            'PASSWORD': os.environ['
            'HOST': os.environ['RDS_HOSTNAME'],
            'PORT': os.environ['RDS_PORT'],
        }
    }
现在,在与settings.py相同的目录中创建一个local_settings.py,并输入以下代码:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'db.djangodb',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
}

MEDIA_ROOT = ''
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = ()
TEMPLATE_DIRS = ()
现在,将本地_settings.py文件添加到.gitignore文件中

运行
$python manage.py syncdb
,现在就可以在本地运行django服务器了

大部分内容都是从我发现的这篇博文中抄袭的:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'db.djangodb',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
}

MEDIA_ROOT = ''
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = ()
TEMPLATE_DIRS = ()