Как сохранить изображение в модели после создания нового изображения с подушкой в ​​Django? - PullRequest
1 голос
/ 10 июня 2019

Во-первых, я создаю изображение с библиотекой подушек и сохраняю в медиа-файл, Теперь я хочу сохранить в модели Temporary, но не сохраняет файл.

Модель:

class TemporaryImage(models.Model):

        image               = models.ImageField(upload_to='temporary_images', verbose_name=_('image'))

        class Meta:
            verbose_name = _('Temporary image')
            verbose_name_plural = _('Temporary images')

Вид:

image = Image.new('RGBA', (1024, 800), (255, 255, 255, 0)) 
image.save("media/output.png")
mediaPathImage = settings.MEDIA_ROOT + '/output.png'
print('media path : ', mediaPathImage)
Tobj = TemporaryImage()

Tobj.image = mediaPathImage
Tobj.save()

на этой картинке: no file chosen https://imge.to/i/ytogF

1 Ответ

0 голосов
/ 10 июня 2019

Вам нужно сохранить файл в нужном месте, а затем задать имя файла для вашего поля изображения

image = Image.new('RGBA', (1024, 800), (255, 255, 255, 0))
filename = something sensible because they cannot all be saved to output.png
filepath = settings.MEDIA_ROOT + '/temporary_images/' + filename
image.save(filepath)
Tobj = TemporaryImage()
Tobj.image.name = filepath
Tobj.save()
...