我是Django中的新编程。我做了一个本地演示,它运行没有问题,但下一步是在AWS Elastic beanstalk上部署Django应用程序,我正在尝试。AWS和Django:“无法导入Django”
我有这样的环境: 〜/ Python_Env/MiEntorno
这个项目: 〜/ ProyectosDjango /希奥
我目前的Django项目结构是这样的:
requirements.txt
.ebextensions
|-01-django_env.config
.elasticbeanstalk
|-config.yml
.gitignore
custom_storage.py
manage.py
Refugio
|__init__.py
|-settings
|-urls.py
|-wsgi.py
|-apps
|-templates
|-static
我有这个错误,当我执行此命令:(Mi Entorno)/ ProyectosDjango/Refugio> manage.py collectstatic或manage.py runserver
“无法导入Django。你确定它已经安装在 你的PYTHONPATH环境变量上吗? ?你忘了激活 虚拟环境”
我把这个在我的-01-django_env.config:
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "Refugio.settings"
PYTHONPATH: "/opt/python/current/app/Refugio:$PYTHONPATH"
"aws:elasticbeanstalk:container:python"
WSGIPath: "Refugio/Refugio/wsgi.py"
,并设置我编辑的数据库,并补充一点:
STATICFILES_LOCATION = 'static'
MEDIAFILES_LOCATION = 'media'
AWS_STORAGE_BUCKET_NAME = 's3.refugioprueba.com'
AWS_ACCESS_KEY_ID = 'xxx'
AWS_SECRET_ACCESS_KEY = 'yy/xxx/'
STATICFILES_STORAGE = 'custom_storages.StaticStorage'
DEFAULT_FILE_STORAGE = 'custom_storages.MediaStorage'
AWS_S3_CUSTOM_DOMAIN = '%s.s3-us-west-1.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_S3_SECURE_URLS = False
from boto.s3.connection import ProtocolIndependentOrdinaryCallingFormat
AWS_S3_CALLING_FORMAT = ProtocolIndependentOrdinaryCallingFormat
from boto.s3.connection import S3Connection
S3Connection.DefaultHost = 's3.us.west-1.amazonaws.com'
STATIC_URL = "http://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, STATICFILES_LOCATION)
MEDIA_URL = "http://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, MEDIAFILES_LOCATION)
WSGI_APPLICATION = 'Refugio.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'ebdb',
'USER': 'root',
'PASSWORD': 'XXX',
'HOST': 'XXXrds.amazonaws.com',
'PORT': 3306,
}
}