【发布时间】:2022-01-23 00:47:05
【问题描述】:
我可以上传图片并调整其大小,但如果我提交没有图片的表单,我会收到此错误
The 'report_image' attribute has no file associated with it.
没有图片上传怎么办?
这是我的models.py
class Report(models.Model):
options = (
('active', 'Active'),
('archived', 'Archived'),
)
category = models.ForeignKey(Category, on_delete=models.PROTECT)
description = models.TextField()
address = models.CharField(max_length=500)
reporter_first_name = models.CharField(max_length=250)
reporter_last_name = models.CharField(max_length=250)
reporter_email = models.CharField(max_length=250)
reporter_phone = models.CharField(max_length=250)
report_image = models.ImageField(_("Image"), upload_to=upload_to, null=True, blank=True)
date = models.DateTimeField(default=timezone.now)
state = models.CharField(max_length=10, choices=options, default='active')
class Meta:
ordering = ('-date',)
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
img = Image.open(self.report_image.path)
if img.height > 1080 or img.width > 1920:
new_height = 720
new_width = int(new_height / img.height * img.width)
img = img.resize((new_width, new_height))
img.save(self.report_image.path)
def __str__(self):
return self.description
【问题讨论】:
标签: django django-models django-rest-framework python-imaging-library