名称';在MemoryUploadedFile';没有在django模型中定义?
基本上我有一个django模型,它有一个文件字段。我想调整提交的图像的大小,我这里有这样的代码名称';在MemoryUploadedFile';没有在django模型中定义?,django,django-models,python-imaging-library,Django,Django Models,Python Imaging Library,基本上我有一个django模型,它有一个文件字段。我想调整提交的图像的大小,我这里有这样的代码 def save(self, *args, **kwargs): img = Image.open(self.media) output = BytesIO() original_width, original_height = img.size aspect_ratio = round(original_width / original_height) d
def save(self, *args, **kwargs):
img = Image.open(self.media)
output = BytesIO()
original_width, original_height = img.size
aspect_ratio = round(original_width / original_height)
desired_height = 100
desired_width = desired_height * aspect_ratio
img = img.resize((desired_width, desired_height))
img.save(output, format='JPEG', quality=90)
output.seek(0)
self.image = InMemoryUploadedFile(output, 'ImageField', "%s.jpg" % self.image.name.split('.')[0], 'image/jpeg', sys.getsizeof(output), None)
super(Post, self).save(*args, **kwargs)
我得到的错误是“未定义名称'inMemoryPloadedFile'。我该如何解决这个问题?这也是一个附带问题。该模型还可以拍摄视频。如何调整视频的大小?这只是一个次要的问题,记忆中的问题是主要的问题。谢谢大家! 您是否导入了InMemoryUploadedFile 请先导入
从django.core.files.uploadedfile导入MemoryUploadedFile
是否在MemoryUploadedFile中导入
请先导入
从django.core.files.uploadedfile导入MemoryUploadedFile
您不需要在MemoryUploadedFile中使用来保存文件。此外,由于从未导入错误,因此也会出现错误。要从django.core.files导入它,请导入memoryUploadedFile
。您最好使用ContentFile
:
from django.core.files.base import ContentFile
...
def save(self, *args, **kwargs):
img = Image.open(self.media)
output = BytesIO()
original_width, original_height = img.size
aspect_ratio = round(original_width / original_height)
desired_height = 100
desired_width = desired_height * aspect_ratio
img = img.resize((desired_width, desired_height))
img.save(output, format='JPEG', quality=90)
output.seek(0)
self.image.save("%s.jpg" % self.image.name.split('.')[0], ContentFile(output), save=False)
super(Post, self).save(*args, **kwargs)
您不需要在MemoryUploadedFile中使用
来保存文件。此外,由于从未导入错误,因此也会出现错误。要从django.core.files导入它,请导入memoryUploadedFile
。您最好使用ContentFile
:
from django.core.files.base import ContentFile
...
def save(self, *args, **kwargs):
img = Image.open(self.media)
output = BytesIO()
original_width, original_height = img.size
aspect_ratio = round(original_width / original_height)
desired_height = 100
desired_width = desired_height * aspect_ratio
img = img.resize((desired_width, desired_height))
img.save(output, format='JPEG', quality=90)
output.seek(0)
self.image.save("%s.jpg" % self.image.name.split('.')[0], ContentFile(output), save=False)
super(Post, self).save(*args, **kwargs)
我不知道这是进口货。我在Django文档中做了一些挖掘,说它是一个类,所以我想我需要制作一个,但因为我以前从未使用过它,所以lostI不知道它是一个导入。我在Django文档中做了一些挖掘,并说这是一个类,所以我认为我需要制作一个类,但因为我在迷路之前从未使用过它