我是python新手,正在尝试在我的模型中使用ImageField
。我的Django项目中有一些图片需要上传。在
所以我有一个Django模型
class Product(models.Model):
img_thumbnail = models.ImageField(upload_to='products_images',
blank=True, null=True)
在上传图像的转换代码中,我想在特定高度生成缩略图,这样我就不能使用:
^{pr2}$取而代之的是,我计算出所需的宽度并使用枕头调整大小。在
img = Image.open(file_path)
h_percent = (75/ float(img.size[1]))
if h_percent < 1:
width = int((float(img.size[0]) * float(h_percent)))
img = img.resize((width, base_height), Image.ANTIALIAS)
filename = os.path.basename(file_path)
这很好,但是当我试图将其保存到ImageField时,我得到了一个错误:AttributeError:'JpegImageFile'对象没有属性“content”
product.img_thumbnail.save(filename, img, True)
在网上搜索时,我找到了对SimpleUploadedFile的引用。所以写一个后缀调整后的图像。我收到另一个错误;:“charmap”编解码器无法解码位置251中的字节0x81:字符映射到
file_root, file_ext = os.path.splitext(file_path)
new_file_name = file_root + '_thumbnail' + file_ext
img.save(new_file_name)
filename = os.path.basename(file_path)
with open(new_file_name) as infile:
_file = SimpleUploadedFile(filename, infile.read())
那我该怎么办?我在Django 2.0中使用python3.6 谢谢你的帮助
目前没有回答
相关问题 更多 >
编程相关推荐