3

在我的模型中,用户可以上传图片。对于那些图像,我也想存储缩略图。对于我正在尝试使用 django-imagekit 的任务,但我似乎没有让它工作

class Imagen(models.Model):
    def get_image_path(instance, filename):
        ext = filename.split('.')[-1]
        filename = "%s.%s" % (uuid.uuid4(), ext)
        return os.path.join('uploads/images', str(instance.user.id), filename)

    def get_thumb_image_path(instance, path, specname, extension):
        path_thumb = re.sub("(\.\w+$)", "", path)
        path_thumb = "%s%s%s" % (path_thumb, "_thumb", extension)
        return path_thumb

    user = models.ForeignKey(User)
    imagen = models.ImageField(upload_to=get_image_path, format='JPEG')
    imagen_thumb = ImageSpecField([ResizeToFill(92, 116)], image_field='imagen', cache_to=get_thumb_image_path, format='JPEG', options={'quality': 90})
    insert_date = models.DateTimeField(auto_now_add=True, editable=False)

ImageSpecField 应该保留原始文件并将新文件存储在 cache_to (API)中,但它不起作用,

get_thumb_image_path 响应与 get_image_path 相同的路径,但将“_thumb”添加到图像中,例如:

uploads/images/1/8836e0d5-8cce-4e3d-b3dc-35ec8ff451ce.jpg
uploads/images/1/8836e0d5-8cce-4e3d-b3dc-35ec8ff451ce_tumb.jpg
4

0 回答 0