【发布时间】:2018-09-16 16:40:27
【问题描述】:
我有一个现有的序列化程序,其中包括一个可以是非常大的图像的 ImageField。我想要该图像的较小缩略图版本。 我正在尝试使用 sorl 创建缩略图,因为它能够将其上传到 AWS S3。如何在序列化程序中创建此缩略图?
在我当前的 serializers.py 中:
class EmployeeSerializer(serializers.ModelSerializer):
class Meta:
model = Employee
fields = ("id",
"username",
"first_name",
"last_name",
"face_image",)
我的模型看起来像这样,它上传到 AWS S3:
class Employee(models.Model):
username = models.CharField(max_length=30, blank=False)
first_name = models.CharField(max_length=30, blank=False)
last_name = models.CharField(max_length=30, blank=False)
face_image = models.ImageField(upload_to=upload_to('employee/face_image/'), blank=True, null=True, storage=MediaStorage())
这是尝试在序列化程序中添加一个名为“face_image_small”的新字段,但它不起作用
from sorl.thumbnail import get_thumbnail
class EmployeeSerializer(serializers.ModelSerializer):
class Meta:
model = Employee
fields = ("id",
"username",
"first_name",
"last_name",
"face_image",
"face_image_small",)
face_image_small = get_thumbnail(self.face_image, '200x200', crop='center', quality=99)
【问题讨论】:
-
我已经有一段时间没有使用它了,但我回家时会检查一下。我想我在某处有一些代码
-
我刚上车检查了一下,但我已经没有了...对不起:/我得看看我是否能记得我做了什么,但我隐约记得做过类似的东西......特别是我必须尽快为我目前的项目做这件事,哈哈
标签: django amazon-s3 serialization sorl-thumbnail