我一直在完成一系列教程,并将我的django图片库中的图像上传到名为"sitename-org"的AWS S3存储桶中。使用S3Boto3Storage。我有一个AWS Lambda,它从中创建一个缩略图,并将其放在名为"sitename-org- resizeded"的另一个桶中。我无法弄清楚如何在照片类中制作一个缩略图成员,从调整大小的桶中提取图像(相同的文件名)。这是我最近一次尝试。
class Photo(models.Model):
exclude = ('thumbnail',)
title = models.CharField(max_length=100)
image = models.ImageField(null=False, blank=False, upload_to='gallery_photos')
date_uploaded = models.DateTimeField(default=timezone.now)
thumbnail = models.ImageField(storage=S3Boto3Storage(bucket_name='sitename-org-resized'), null=True, blank=True)
uploader = models.ForeignKey(User, on_delete=models.CASCADE)
album = models.ForeignKey(PhotoAlbum, on_delete=models.SET_NULL, null=True, blank=True, related_name='photos')
description = models.TextField()
def save(self, *args, **kwargs):
#
super().save(*args, **kwargs)
thumbnail = self.image
愚蠢的错误。我在分配缩略图之前保存了对象。
def save(self, *args, **kwargs): #override save method to resize image
self.thumbnail = self.image
super().save(*args, **kwargs)