【问题标题】:Heroku + S3 + Django: Static Files not CachedHeroku + S3 + Django:静态文件未缓存
【发布时间】:2013-10-06 21:40:49
【问题描述】:

目前在 Heroku 上部署了一个项目,其中包含从 S3 加载的静态文件。我正在使用 boto/django-storage 来管理我的 S3 内容,但如果我调用同一个视图或重复加载同一个页面,所有图像/静态内容都会加载两次并且不会被缓存。

我已放置 AWS_HEADERS = { 'Cache-Control': 'max-age=2592000', }

在我的settings.py 中,但原因似乎完全相同的图像(刷新 + 加载两次)在其 URL 中具有不同的签名?我尝试了多个标头,但浏览器似乎不想缓存它,而是每次都加载它们。

【问题讨论】:

    标签: django heroku amazon-s3 boto django-storage


    【解决方案1】:

    尝试设置AWS_QUERYSTRING_AUTH = False。然后生成的 URL 将始终是相同的(公共)URL。 S3BotoStorage 中的默认 ACL 是 public-read,此时不应更改。

    不要忘记两件事:

    • 也许您想添加public, max-age=XXX,这样公共代理也可以缓存您的内容?
    • 如果您希望浏览器缓存这么长时间,您应该记住,更改内容时必须更改文件名。一种解决方案是将S3BotoStorage 与 Django-CachedStaticFilesStorage 结合使用(请参阅here,但我在没有单独的缓存后端的情况下使用它)

    【讨论】:

      猜你喜欢
      • 2016-01-01
      • 2020-07-31
      • 2015-05-11
      • 2023-03-20
      • 1970-01-01
      • 2015-11-06
      • 2017-08-22
      • 2020-03-13
      • 2013-12-27
      相关资源
      最近更新 更多