带有 s3-boto 的 django-storage 破坏浏览器缓存

标签 django django-storage

我有一个 django 项目,它在 s3-boto 上使用 django-storage。

问题是位于 S3 上的每个文件都无法缓存,因为每次调用都会更改 url。

这是 django-storage 生成的两个调用:

https://my.s3.amazonaws.com/cache/user_6/profile_pic/profile_profile_picture_thumbnail.jpg?Signature=HlVSayUIJj6dMyk%2F4KBtFlz0uJs%3D&Expires=1364418058&AWSAccessKeyId=[awsaccesskey]     
https://my.s3.amazonaws.com/cache/user_6/profile_pic/profile_profile_picture_thumbnail.jpg?Signature=xh2VxKys0pkq7yHpbJmH000wkwg%3D&Expires=1364418110&AWSAccessKeyId=[awsaccesskey]

如您所见,签名是不同的。我该怎么做才不会破坏我的浏览器缓存?

最佳答案

在您的设置中,只需添加以下内容:

AWS_QUERYSTRING_AUTH = False

这将确保文件的 URL 是在没有额外参数的情况下生成的。您的网址如下所示:
https://my.s3.amazonaws.com/cache/user_6/profile_pic/profile_profile_picture_thumbnail.jpg

关于带有 s3-boto 的 django-storage 破坏浏览器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15668443/

相关文章:

Django 计算具有重复值的行

python - 找不到 django-pipeline amazon s3 collectstatic 文件

在 django Rest api 中使用 POST 进行 Json 解析错误

python - celery 与 Django - MaybeEncodingError : Error sending result

python - 当 models.py 在应用程序的文件夹中时未检测到 Django 迁移

Django collectstatic 从 Heroku 每次推送到 S3

python - 升级到 Django 1.7。获取错误 : Cannot serialize: <storages. backends.s3boto.S3BotoStorage 对象

Django Rest 框架形式

django - 错误 "Could not load Boto' s S3 绑定(bind)。”

python - 一起使用 django-storages 和 django-compressor 时尝试压缩静态文件时出错