K_DOT
@K_DOT
DevOps инженер

Как реализовать изменение размера изображения при загрузке из админки Django?

Здравствуйте, есть поле ImageField и мне нужно сделать в админке возможность задавать размер изображения при загрузке, то есть чтобы в админке отображались поля, где пользователь может сам задать размер изображения(ширину и высоту). Есть ли способ реализовать такую возможность?
  • Вопрос задан
  • 3137 просмотров
Решения вопроса 1
ali_aliev
@ali_aliev
Разработчик на Django/Python, JavaScript
Переопределить метод save в классе модели?

class Model(model.Model):
    _image=models.ImageField(upload_to='folder')
    thumb=models.ImageField(upload_to='folder')
    description=models.CharField()

    def set_image(self, val):
        self._image = val
        self._image_changed = True

        # Or put whole logic in here
        small = rescale_image(self.image,width=100,height=100)
        self.image_small=SimpleUploadedFile(name,small_pic)

    def get_image(self):
        return self._image

    image = property(get_image, set_image)

    # this is not needed if small_image is created at set_image
    def save(self, *args, **kwargs):
        if getattr(self, '_image_changed', True):
            small=rescale_image(self.image,width=100,height=100)
            self.image_small=SimpleUploadedFile(name,small_pic)
        super(Model, self).save(*args, **kwargs)


Взято отсюда stackoverflow.com/questions/4269605/django-overrid...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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