Django - [Errno 2] Нет такого файла или каталога для Img.open(`image_path`)
У меня есть блог, где пользователи могут загружать и редактировать сообщения. Я хотел изменить размер любого загруженного изображения до максимального размера 500*500px. Для этого я создал оператор if перед сохранением
models.py
def _upload_path(instance, filename):
    return instance.get_upload_path(filename)
class Post(models.Model, HitCountMixin):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=300)
    image = models.ImageField(blank=True, null=True, upload_to=_upload_path)
    def __str__(self):
        return self.title
    def get_upload_path(self, filename):
        return "posts/images/" + str(self.user.username) + "/" + filename
    def save(self, *args, **kwargs):
        # resize image
        if self.image:
            img = Image.open(self.image.path)  # Open image using self
        
            if img.height > 500 or img.width > 500:
                new_img = (500, 500)
                img.thumbnail(new_img)
                img.save(self.image.path)  # saving image at the same path
        return super(Post, self).save(*args, **kwargs)
Неправильно путь к изображению не распознается, и я получаю ошибку
[Errno 2] Нет такого файла или каталога: '/Users/vic/Desktop/django_project/media/postimage1.jpg'
Путь неверен! Путь upload-path определяется в функции get_upload_path() и должен вести к /Users/vic/Desktop/django_project/media/posts/images/username/postimage1.jpg
Я попытался изменить открытый путь на
img = Image.open(str(settings.MEDIA_URL) + self.get_upload_path(self.image.name)) или на жестко заданный URL с localhost:8000... но ничего не помогло. Если убрать оператор if, файл загружается по правильному пути, поэтому ошибка должна быть в определении img.