小编mde*_*ede的帖子

django 在文件上传时发出 pre_save 信号

如果文件已上传/更改,我可以在pre_save或 中进行测试post_save吗?

例子:

class Item(models.Model):
  name_123 = models.CharField(max_length=255)
  photo = models.ImageField()


@receiver(pre_save, sender=Item)
def my_callback(sender, instance, *args, **kwargs):
  if NEW photo was uploaded:
    resize it;
Run Code Online (Sandbox Code Playgroud)

我不想调整图像大小,如果只有 name_123 更改,但我想在创建新项目和图像更改时调整它的大小(即使上传了具有相同文件名的相同图像。

如果我使用前端 CreateView 或类似的东西,我可以检查 form_data 是否包含文件数据,但我想在一般情况下使用它(django admin 也是)。谢谢

django signals

0
推荐指数
1
解决办法
54
查看次数

标签 统计

django ×1

signals ×1