首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django轻松-缩略图与sorl-缩略图差异

Django轻松-缩略图与sorl-缩略图差异
EN

Stack Overflow用户
提问于 2016-02-01 21:51:32
回答 2查看 2.6K关注 0票数 17

我一直在为Django阅读和尝试各种拇指钉应用程序。这些都是要求:

  • 所有生成的缩略图必须保存在与原始图像分离的S3桶中,即单独的存储类。
  • 删除图像实例时,还必须删除原始图像文件和所有生成的缩略图。
  • 尽量减少昂贵的低效率,例如。在DRF中获取要序列化的缩略图的url不应该在S3桶中查看它是否存在,以此类推。

VersatileImageField无法满足第一个要求。ImageKit无法满足第二个要求。第三个要求是我最困惑的地方;我试图向自己介绍最佳实践,但这些信息是支离破碎的,我没有信心根据到目前为止学到的东西做出决定。

根据我所读到的,我的印象是,最有效的行为如下:

  • 在保存时立即生成缩略图,并假定它始终存在。
  • 要访问缩略图,请根据原始图像的文件名和缩略图尺寸/质量生成URL,因为我们知道它确实存在
  • post_delete将删除所有缩略图和原始文件

我最感兴趣的是学习容易使用缩略图和sorl缩略图的方法的不同之处(如果它们与我前面简要描述的过程相一致,或者它们是否具有更高的效率),以及它们每种方法的优缺点。

EN

回答 2

Stack Overflow用户

发布于 2021-05-05 03:26:19

我希望这可以帮助你在模型中,有两个领域的图像和缩略图,在考虑制作验证图像的类型和大小后,用药丸生成缩略图。

代码语言:javascript
复制
from PIL import Image as Img
from io import BytesIO

def create(self,request):
    mutable = request.POST._mutable
    request.POST._mutable = True

    for value in request.FILES.items():
        im = Img.open(value[1])
        im.thumbnail((425, 236), Img.ANTIALIAS)
        buffer = BytesIO()
        im.save(fp=buffer, format='JPEG')

        requset.POST['thumbnail'] = ContentFile(buffer.getvalue(), thumnail_name)

     request.POST._mutable = mutable

若要将图像保存在文件夹和缩略图其他文件夹中,可以在upload_to中使用ImageField中的不同路径

票数 1
EN

Stack Overflow用户

发布于 2016-03-04 16:36:25

我不确定这是否有用,但我过去使用过简单的缩略图,而且我相当肯定,如果配置它的话,它可以完成您所要求的所有事情。用保存函数配置它有点棘手,因为保存函数不关心配置,但这不是不可能的。导致问题的主要原因是您必须使用“保存并继续编辑”来访问和使用缩略图选项。如果您还没有创建它,因为它是在保存时创建的,那么在这样做之前,它是不可见的。

代码语言:javascript
复制
def save()
    found_id = self.id
        super(Team, self).save(*args, **kwargs)
        if self.image and found_id is None and self.original_image_width and self.original_image_height:
            self.image = get_thumbnailer(self.image).get_thumbnail({
                'size': (self.original_image_width, self.original_image_height)
            }).name
        super(Team, self).save(*args, **kwargs)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35141061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档