Django Этот бэкенд не поддерживает абсолютные пути после интеграции aws S3 bucket
Я нашел похожий вопрос на stackoverflow по этой теме, но до сих пор мои проблемы не решены. Я столкнулся со следующими проблемами после интеграции aws S3 bucket:
проблема 1: изменение размера изображения не работает после интеграции aws S3 bucket.
проблема 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
my settings.py
AWS_ACCESS_KEY_ID = "my acess key"
AWS_SECRET_ACCESS_KEY = "my secret key"
AWS_STORAGE_BUCKET_NAME = "my bucket name"
AWS_S3_CUSTOM_DOMAIN = 'my aws domain name'
AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400'}
AWS_DEFAULT_ACL = 'public-read'
AWS_S3_FILE_OVERWRITE = False
AWS_QUERYSTRING_AUTH = False
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
AWS_MEDIA = '/media/'
AWS_STATIC = 'static'
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_STATIC)
MEDIA_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_MEDIA)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
вот мой models.py для загрузки изображений:
class BlogHeaderImage(models.Model):
image = models.ImageField(upload_to='blog/images/',validators=[validate_file_size,FileExtensionValidator( ['png','jpg'] )])
blog = models.ForeignKey(Blog,on_delete=models.CASCADE,related_name="blog_header_image")
def save(self,*args,**kwargs):
super().save(*args, **kwargs)
img = Image.open(self.image.path)
if img.height > 300 or img.width > 300:
out_put_size = (300,300)
img.thumbnail(out_put_size)
img.save(self.image.path)
def __str__(self):
return str(self.blog)
Хотя я получаю эту ошибку, изображение загружается на aws S3 bucket. Почему я получаю эту ошибку и как ее преодолеть?