【发布时间】:2023-03-29 07:40:01
【问题描述】:
我尝试在上传到 aws s3 存储桶之前压缩图像。但我在添加此图像压缩代码后收到此错误This backend doesn't support absolute paths:
#image comressing start
if self.blog_cover_image:
img = Image.open(self.blog_cover_image.path)
img.save(self.blog_cover_image.path,quality=20,optimize=True)
#image compression end
问题 1: 集成 aws S3 存储桶后无法调整图像大小。
问题2:上传图片后出现这个错误页面NotImplementedError at /blog/edit/hello/ This backend doesn't support absolute paths.这里是我终端的错误详情
"C:\Users\Fdg\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\files\storage.py", line 123, in path
raise NotImplementedError("This backend doesn't support absolute paths.")
NotImplementedError: This backend doesn't support absolute paths.
[27/Dec/2021 23:49:44] "POST /blog/edit/hello/ HTTP/1.1" 500 118419
这是我的 models.py 用于上传图片:
blog_cover_image = models.ImageField(upload_to='blog/images/',validators=[validate_file_size,FileExtensionValidator( ['png','jpg'] )],blank=True,null=True)
#image comressing start
if self.blog_cover_image:
img = Image.open(self.blog_cover_image.path)
img.save(self.blog_cover_image.path,quality=20,optimize=True)
#image compression end
虽然我收到此错误,但图片正在上传到 aws S3 存储桶。为什么我会收到此错误以及如何克服它?如何在 Django 中为 aws s3 存储桶使用图像压缩?
【问题讨论】:
标签: python-3.x django amazon-web-services amazon-s3