Обработка изображения, загруженного с помощью createview, в django

Я возвращаюсь к django через некоторое время, и я немного запутался в том, как мне следует обрабатывать изображения после их загрузки в классе createview.

Итак, я имею следующее:

class SomeModel(models.Model):
    full_name = models.CharField(max_length=200)
    email_simple = models.EmailField(max_length = 256)
    image = models.ImageField(upload_to='images')

    def __str__(self):
        return self.full_name
class SomeModelForm(forms.ModelForm):
    """Form for the image model"""
    class Meta:
        model = SomeModel
        fields = ('full_name', 'email_simple', 'image')
<form role="form" action="{% url 'upload' %}" enctype="multipart/form-data" method="post">{% csrf_token %}
  {{ form.as_p }}
 <button type="submit">Upload</button>
</form>

Это прекрасно работает, так как загружает изображение, но, прежде чем перейти на страницу, скажем, "Загрузка завершена", я хотел бы обработать это изображение с помощью пользовательской логики (например, изменить размер с помощью ffmpeg и обработать его дальше). Какой метод в CreateView может позволить мне сделать это? Или есть более эффективный способ решения этой проблемы?

Спасибо.

if form.is_valid():
    instance = form.save()
    imag = Image.open(instance.image.path)
    output_size = (400, 300)  # new size
    imag.thumbnail(output_size)
    imag.save(instance.image.path)
Вернуться на верх