如何将 Django ImageKit 生成的图像保存到 ImageField?
How to save the generated image from Django ImageKit to ImageField?
我使用以下代码生成图像:
source_file = open('/path/to/myimage.jpg', 'rb')
image_generator = Thumbnail(source=source_file)
result = image_generator.generate()
将生成的 "result" 保存回 django ImageField 的正确方法是什么?即在模型中
生成的结果似乎是一个 _io.BytesIO 对象。而且我似乎不能直接将它保存到 ImageField。
如有任何帮助,我们将不胜感激
假设您有如下 SampleModel
,
class SampleModel(models.Model):
image = models.ImageField(null=True)
然后,ContentFile
为您施展魔法。按照代码段,
from django.core.files.base import ContentFile
source_file = open('/path/to/myimage.jpg', 'rb')
image_generator = Thumbnail(source=source_file)
result = image_generator.generate()
# additional snippet
django_file = ContentFile(result.getvalue())
sample = SampleModel.objects.create()
sample.image.save('sample_name.jpg', django_file)
sample.save()
我使用以下代码生成图像:
source_file = open('/path/to/myimage.jpg', 'rb')
image_generator = Thumbnail(source=source_file)
result = image_generator.generate()
将生成的 "result" 保存回 django ImageField 的正确方法是什么?即在模型中 生成的结果似乎是一个 _io.BytesIO 对象。而且我似乎不能直接将它保存到 ImageField。
如有任何帮助,我们将不胜感激
假设您有如下 SampleModel
,
class SampleModel(models.Model):
image = models.ImageField(null=True)
然后,ContentFile
为您施展魔法。按照代码段,
from django.core.files.base import ContentFile
source_file = open('/path/to/myimage.jpg', 'rb')
image_generator = Thumbnail(source=source_file)
result = image_generator.generate()
# additional snippet
django_file = ContentFile(result.getvalue())
sample = SampleModel.objects.create()
sample.image.save('sample_name.jpg', django_file)
sample.save()