小编iha*_*ant的帖子

如何在将 ImageField 图像保存到 python Django 模型之前调整其大小

我正在尝试实现一个 Django ImageField 类函数来调整图像大小,但是我不确定这个函数在哪里接受我的新图像尺寸

在 Linux 和 Python 3.7 上运行

我看过这个文档,但不太理解它:https : //docs.djangoproject.com/en/1.11/_modules/django/db/models/fields/files/#ImageField

如果有人可以向我展示如何使用此功能的示例,我将不胜感激。

编辑

我还没有成功地调整我的图像尺寸,这就是我想要实现的。鉴于它正在被获取,ImageField我如何在保存它之前调整它的大小(我找到了update_dimensions_fields类函数,ImageField但是我不知道如何使用它)

class Posts(models.Model):
    title = models.CharField(max_length=200, blank=True)
    body = models.TextField(blank=True)
    created_at = models.DateTimeField(default=datetime.datetime.now)
    post_image = models.ImageField(upload_to=get_image_path, blank=True, null=True)

    def __str__(self):
        return self.title

    def save(self, *args, **kwargs):
        # I would like to use the function beneath to resize my images before I save them to my database
        self.post_image.update_dimension_fields(self, instance, force=False, *args, **kwargs)

        super().save(*args, **kwargs) # Call the "real" save() …
Run Code Online (Sandbox Code Playgroud)

python django

15
推荐指数
1
解决办法
9074
查看次数

标签 统计

django ×1

python ×1