我搜索了许多问题和答案,AWS和Django(2.0)文档,但仍然无法提供静态文件。我是AWS新手,只做了基本的网络应用程序。
我的settings.py有:
INSTALLED_APPS = [
..
'django.contrib.staticfiles',
..
]
STATIC_ROOT = os.path.join(BASE_DIR,"static")
STATIC_URL = '/static/'
我的项目目录:
|.ebextensions
|--django.config
|.elasticbeanstalk
|--config.yml
|app
|--migrations
|--static
|--tempates
|--admin.py
|--......
|--views.py
|project
|--settings.py
|--urls.py
|--wsgi.py
|static
|manage.py
|requirements
我的django.config有:
container_commands:
01_collectstatic:
command: "source /opt/python/run/venv/bin/activate && python manage.py collectstatic --noinput"
option_settings:
"aws:elasticbeanstalk:container:python":
WSGIPath: awtest/wsgi.py
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "static/"
HTML来源:
<html>
<head
<title>Home</title>
</head>
<body>
<img src="/static/app/symbol-logo.png" alt="" style="width:50px;height:60px;"">
<h1>AWS</h1>
</body>
</html>
当我在我的计算机上运行它时工作正常,我可以看到图像,但是当我在AWS beanstalk上部署时,我无法看到图像,当我检查源并点击图像网址时,它显示{{ 1}}。
任何人都可以指出我可能出错的地方吗? 任何帮助将不胜感激!
答案 0 :(得分:0)
在最新版本的EBS中,命名空间已更改为aws:elasticbeanstalk:environment:proxy:staticfiles
,如下所示:
option_settings:
aws:elasticbeanstalk:environment:proxy:staticfiles:
/static: static