Мне нужно дать администратору возможность загружать изображение для ImageField
с помощью AJAX, а затем обрезать часть по своему выбору (с заранее определенным соотношением размеров или разрешением), а затем сохранять обрезанное изображение в базе данных.
Я пробовал django-image-cropping
и django-ajaximage
для этого.
#Using django-image-cropping
from image_cropping import ImageRatioField
class Alumnus(models.Model):
photo = models.ImageField(null=True, blank=True)
cropped_photo = ImageRatioField('photo', '430x360')
#Using django-ajaximage
from ajaximage.fields import AjaxImageField
class Alumnus(models.Model):
photo = AjaxImageField(
upload_to='alumni_photos',
max_height=400,
max_width=400,
crop=True
)
В то время как django-ajaximage
загружает изображение с помощью AJAX, но не позволяет администратору выбирать, какую часть изображения он хочет обрезать, django-image-cropping
обрезает изображение в два этапа: сначала нам нужно загрузить изображение, сохранить его в БД , затем нам снова нужно открыть объект и выбрать часть обрезки, а затем снова сохранить его в базе данных, что я считаю излишне громоздким. Какие-либо предложения?