Python 在Django中,如何使Django存储、boto和easy_缩略图正常工作?
我正在制作一个网站,通过管理员上传文件,然后将其存储在AmazonS3上。我正在使用django存储和boto来实现这一点,它似乎工作得很好 问题是,我习惯于在模板端使用easy_缩略图(新的sorl.thumbnail)动态创建缩略图。我更喜欢这种方法,而不是模型方面,因为如果我决定在以后更改缩略图大小等,它允许更容易的维护 但我意识到easy_缩略图似乎不喜欢阅读存储在Amazon S3上的图像。而且,我意识到,一旦制作好了缩略图,它到底会放在哪里?显然,我更希望这些也在AmazonS3上。但如何让这两种技术发挥作用呢 如何让easy_缩略图将它创建的拇指存储回AmazonS3?还是我只是看错了Python 在Django中,如何使Django存储、boto和easy_缩略图正常工作?,python,django,amazon-s3,thumbnails,Python,Django,Amazon S3,Thumbnails,我正在制作一个网站,通过管理员上传文件,然后将其存储在AmazonS3上。我正在使用django存储和boto来实现这一点,它似乎工作得很好 问题是,我习惯于在模板端使用easy_缩略图(新的sorl.thumbnail)动态创建缩略图。我更喜欢这种方法,而不是模型方面,因为如果我决定在以后更改缩略图大小等,它允许更容易的维护 但我意识到easy_缩略图似乎不喜欢阅读存储在Amazon S3上的图像。而且,我意识到,一旦制作好了缩略图,它到底会放在哪里?显然,我更希望这些也在AmazonS3上。
谢谢 easy\u缩略图将为您执行基于S3的图像缩略图-您只需设置
设置。缩略图默认存储
,以便easy\u缩略图知道要使用哪个存储(在您的情况下,您可能希望将其设置为您的图像字段使用的相同存储)。我更改了使用它的方式
我修改了模型,使其具有缩略图字段:
class Photo(models.Model)
image = models.ImageField(upload_to=image_upload_to)
thumb_a = ThumbnailerImageField(upload_to=thumb_a_upload_to, resize_source=dict(size=(98,98), crop='center'),)
在模板上,而不是:
{% load thumbnail %}
<img src="{% thumbnail photo.image 98x98 crop='center' %}">
它工作得很好。谢谢你,你为我节省了很多时间,因为我热爱一切美好和纯洁的事物,为什么这不是公认的答案?非常感谢。
<img src="{{photo.thumb_b.url}}">
for i in listOfImages:
form = CreatePhotoForm(request.POST, i)
if form.is_valid():
asdf = form.save(commit=False)
asdf.owner = request.user
asdf.image = i
asdf.thumb_a = i
asdf.title = str(i)
asdf.save()