我一直在为Django阅读和尝试各种拇指钉应用程序。这些都是要求:
VersatileImageField无法满足第一个要求。ImageKit无法满足第二个要求。第三个要求是我最困惑的地方;我试图向自己介绍最佳实践,但这些信息是支离破碎的,我没有信心根据到目前为止学到的东西做出决定。
根据我所读到的,我的印象是,最有效的行为如下:
我最感兴趣的是学习容易使用缩略图和sorl缩略图的方法的不同之处(如果它们与我前面简要描述的过程相一致,或者它们是否具有更高的效率),以及它们每种方法的优缺点。
发布于 2021-05-05 03:26:19
我希望这可以帮助你在模型中,有两个领域的图像和缩略图,在考虑制作验证图像的类型和大小后,用药丸生成缩略图。
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中的不同路径
发布于 2016-03-04 16:36:25
我不确定这是否有用,但我过去使用过简单的缩略图,而且我相当肯定,如果配置它的话,它可以完成您所要求的所有事情。用保存函数配置它有点棘手,因为保存函数不关心配置,但这不是不可能的。导致问题的主要原因是您必须使用“保存并继续编辑”来访问和使用缩略图选项。如果您还没有创建它,因为它是在保存时创建的,那么在这样做之前,它是不可见的。
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)https://stackoverflow.com/questions/35141061
复制相似问题