У меня есть поле изображения с именем thumbnail, а другое - thumbnail_low, представляющее собой версию эскиза 320 * 200. Когда пользователь загружает изображение из поля миниатюрных изображений, я внутренне создаю версию 320 * 200, которая назначается thumbnail_low. это то, как я это делаю (см. код ниже). проблема в том, что изображение правильно назначено на thumbnail_low, за исключением того, что браузер показывает ожидание локального хоста до тех пор, пока моя машина не выйдет из системы, что странно из-за того, что после перезапуска я обнаружил, что сообщение было создано правильно.
class Post(models.Model):
thumbnail = models.ImageField(upload_to=post_directory_path)
thumbnail_low = models.ImageField(upload_to=post_directory_path, null=True, blank=True)
def save(self, force_insert=False, force_update=False, using=None,
update_fields=None):
obj = super(Post, self).save(force_insert, force_update, using, update_fields)
if self.thumbnail:
img = Image.open(self.thumbnail.path)
img = img.convert("RGB")
img.save(self.thumbnail.path, format="JPEG", optimized=True)
stream = BytesIO()
copy = img.copy()
copy.thumbnail((320, 200), Image.ANTIALIAS)
copy.save(fp=stream, format="JPEG")
thumbnail_name = "low" + get_random_string(length=4) + str(self.id) + ".jpeg"
content = stream.getvalue()
stream.close()
self.thumbnail_low.save(thumbnail_name, ContentFile(content))
return obj