Сохранение изображения подушки в модель - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь сохранить изображение подушки в моей модели, чтобы моя модель могла позаботиться об этом.Вот как выглядит моя модель:

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    avatar = models.ImageField(storage=OverwriteStorage(), upload_to=create_user_image_path, validators=[validate_avatar],
                               default="default/avatars/avatar.jpg")

    def save(self, *args, **kwargs):
        super(Profile, self).save(*args, **kwargs)
        if self.avatar:
            image = Image.open(self.avatar)
            height, width = image.size

            if height == 200 and width == 200:
                image.close()
                return

            image = image.resize((200, 200), Image.ANTIALIAS)
            image.save(self.avatar.path)
            image.close()

Модель изменяет размер изображения и соответственно сохраняет его.Я использую allauth, чтобы получить изображение зарегистрированной социальной учетной записи через адаптер, например:

    avatar_url = sociallogin.account.get_avatar_url()
    avatar = create_avatar(avatar_url)
    profile.avatar = avatar
    profile.save()

def create_avatar(avatar_url):
    response = requests.get(avatar_url)
    avatar = Image.open(BytesIO(response.content))
    return avatar

Однако я получаю сообщение об ошибке: AttributeError: 'JpegImageFile' object has no attribute '_committed' Что я делаю неправильнои как я могу решить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...