通过S3在Django中提供私有图片
我正在开发一个Django应用,用户可以上传照片并查看这些照片,这些照片存储在S3上是私密的。每次我需要显示缩略图时,我都要生成一个网址,然后把它传给模板。这个过程非常慢,耗时很长。
我希望能找到其他的方法,可能是我还没有探索到的。请帮帮我。我希望能有类似x-sendfile的东西,先验证用户身份,然后再把他们重定向到S3。如果我遗漏了什么,请告诉我。
2 个回答
1
你可以使用 sorl-thumbnail 这个工具来生成缩略图,它支持使用可插拔的 S3 存储后端,并且可以用 memcached 或 redis 来缓存数据。
你可能会觉得这个问题很有帮助: 在 Django 中将图片和缩略图存储到 S3
3
我把sorl-thumbnail这个项目进行了修改,让它在使用S3时更快。我的代码在这里 sorl_thumbnail-async
不过我发现 easy_thumbnails 完全可以实现我想做的功能,所以我在当前的项目中使用它。sorl自去年以来就没有更新了,建议使用easy_thumbnails来处理像S3这样的远程存储。你可能会觉得我在这个话题上的帖子 这里 有用。
[编辑]: sorl-thumbnail现在有了新的维护者,并且已经更新到最新的django版本。