Обработка изображения, загруженного с помощью 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)