gpt4 book ai didi

python - 我应该在哪个文件中编写代码来调整 Django 上的图像文件大小?

转载 作者:行者123 更新时间:2023-11-30 22:57:20 24 4
gpt4 key购买 nike

我想调整图像大小并将其保存到 Django 上的数据库中。我发现有几个网站提到了Django的大小调整,有的写在models.py中,但其他的写在views.py中。我应该在哪个文件中编写代码,views.py 还是 models.py

from PIL import Image
img = Image.open('original.jpg', 'r')
img.thumbnail((100, 100), Image.ANTIALIAS)
img.save('thumbnail.jpg', 'JPEG', quality=75, optimize=True)

模型.py

class Photo(models.Model):
photo = models.ImageField(upload_to="...")
def save(self, *args, **kwargs):
do_somehting()
super(Photo, self).save()

最佳答案

我认为最佳实践是当您使用后台作业(例如celery)或其他作业时,并在模型保存模式下调用它。

最好使用Pillow包和sorl及其thumbnail来制作任意大小的缩略图并通过redis<自动索引

考虑这个要点:

import picke
create_thumbnail_images.apply_async([pickle.dumps(self.image_path), USER_IMAGE_THUMB_SIZES], countdown=5)

您可以在模型的save操作中在上面的示例代码中在后台创建缩略图,这样您就不会因为创建这些缩略图而被阻止。

关于python - 我应该在哪个文件中编写代码来调整 Django 上的图像文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36689808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com