AWS Elastic Beanstalk 找不到 Django App 的静态文件



我在为我创建的 django 应用程序设置弹性 beanstalk 上的静态文件夹时遇到了一点麻烦。我努力让应用程序在没有任何 css/js/等的情况下运行。我的文件结构是:

|.ebextensions
|    --django.config
|.elasticbeanstalk
|    --config.yml
|django_app
|    --core
|    --blog
|    --other apps..
|config
|    --settings
|        --base.py
|        --local.py
|        --production.py
|    --asgi.py
|    --urls.py
|    --wsgi.py
|static
|    --blog
|        --css/js/etc
|    --other apps
|manage.py
|requirements.txt
|secrets.json

在我的 django.config 中,我像这样设置它:

option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: config.settings.production
aws:elasticbeanstalk:container:python:
WSGIPath: config.wsgi:application
NumProcesses: 3
NumThreads: 20

对于我在 base.py(生产/本地.py中的静态设置,请导入 base.py(:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.0/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = "static"

我在烧瓶上也有类似的问题,但它并没有给我带来这么多麻烦。我试图遵循这里的一些解决方案,但没有任何效果,或者我误解了某些东西。任何帮助不胜感激!

你必须在 django.configoption_settings中添加一个额外的选项,这取决于你使用的 Elastic Beanstalk 平台。

我认为您正在使用新平台platform/Python 3.7 running on 64bit Amazon Linux 2.如果是,请使用:

aws:elasticbeanstalk:environment:proxy:staticfiles:
/static: static

但是,如果您使用的是platform/Python 3.6 running on 64bit Amazon Linux或更早版本,请使用:

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

您可以查看此链接以获取更多详细信息。

如果您不知道您使用的平台,可以通过不同的方式了解它:

  • 通过您的终端,它出现在eb status命令的输出中。
  • 通过 AWS 控制台,它会在您的 Elastic Beanstalk 环境页面中提及。

相关内容

  • 没有找到相关文章

最新更新