gpt4 book ai didi

python - 无法在 AWS elastic-beanstalk 上提供 Django 静态文件

转载 作者:行者123 更新时间:2023-12-01 02:06:07 24 4
gpt4 key购买 nike

我搜索了很多问题和答案、AWS 和 Django(2.0) 文档,但仍然无法提供静态文件。我是 AWS 新手,只制作了基本的 Web 应用程序。

我的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 上,我就无法看到图像,当我检查源并单击图像 url 时,它显示 禁止,您无权访问服务器上的图片

谁能指出我可能出错的地方吗?任何帮助将不胜感激!

最佳答案

我使用不同的配置将其部署在 AWS 的不同实例中,并且它有效。

从 django.config 中我删除了

"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "static/"

在settings.py文件中我创建了STATIC_ROOT = 'static'

并且在 Elastic-beanstalk 控制台的配置设置中我更改了

/static/ = /static/

/static/ = static/ 

关于python - 无法在 AWS elastic-beanstalk 上提供 Django 静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49050108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com