【问题标题】:Django static files using s3使用 s3 的 Django 静态文件
【发布时间】:2020-11-23 10:21:57
【问题描述】:

我在为我的网站静态文件使用 s3 存储桶时遇到问题。目前使用 django-storages 和 boto3。

在我的setting.py中我有:

AWS_ACCESS_KEY_ID = env("AWS_ACCESS_KEY_ID")
AWS_SECRET_ACCESS_KEY = env("AWS_SECRET_ACCESS_KEY")
AWS_STORAGE_BUCKET_NAME = env("AWS_STORAGE_BUCKET_NAME")
AWS_S3_FILE_OVERWITE = False
AWS_DEFAULT_ACL = None
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'
AWS_LOCATION = 'static'
STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/{AWS_LOCATION}/'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

运行 collectstatic 成功将静态文件发送到 s3 存储桶,但我的模板中的静态 url 没有更新。

我正在使用 apache2 并且没有更改 .conf 文件,我需要吗?

任何帮助将不胜感激

【问题讨论】:

标签: django django-staticfiles


【解决方案1】:

当您说but the static urls in my templates do not update. 时,您的意思是什么,您可以尝试在设置中打印 static_url 并查看您是否获得了您所期望的 url,并且您可以在您访问它的地方分享您的模板。

【讨论】:

  • 调试设置为 True 我可以看到本地静态文件仍在被引用。它正在寻找的路径是 /css/style.css 并且错误是拒绝访问。作为 collectstatic 的作品,这是我没有更改的 apache2 .conf 配置。如果我删除 s3 配置并让它看起来在本地它可以工作。我的基本模板有 {% loadstatic%} 并且静态文件按照 Django 的需要呈现。感谢您的帮助
  • 应该是{% load static%}
猜你喜欢
  • 2016-12-22
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 2021-06-19
  • 2013-10-06
  • 2022-01-18
  • 2016-11-22
  • 2021-06-05
相关资源
最近更新 更多