@SerS_tds

Как обрезать изображение перед сохранением в БД (Django)?

Здравствуйте!
Только изучаю Django, пытаюсь сделать не большой проект. Столкнулся с такой проблемой, мне необходимо взять изображение из формы, обрезать его, потом сохранить в БД.
Пытался сделать таким образом:
class AddPostForm(forms.ModelForm):

    class Meta:
        model = Article
        fields = ['title', 'slug', 'article_text', 'preview_photo']

    def clean_preview_photo(self):
        photo = self.cleaned_data['preview_photo']
        new_photo = Image.open(photo)
        
        return new_photo.crop((0, 0, 10, 10))

Но так не работает.

Заметил, что в self.cleaned_data['preview_photo'] есть атрибут image (PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1600x900 at 0x1E0DFC874F0)
Пытался вставлять в него обрезанное фото, что-то типа photo.image = new_photo.crop((0, 0, 10, 10)), но так тоже не работает, new_photo.crop((0, 0, 10, 10)) возвращает объект (PIL.Image.Image image mode=RGB size=10x10 at 0x1E0DFB13F40), но и в целом думаю, что это неправильное направление мысли..
Как можно реализовать обрезку фото перед сохранением?
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы