Devo dare all'amministratore la funzione di caricare un'immagine per un ImageField
utilizzando AJAX e quindi ritagliare la porzione di sua scelta (con un predefinito rapporto dimensione o risoluzione) e quindi salvare l'immagine ritagliata nel database.Carica un'immagine con AJAX, ritaglia una porzione di nostra scelta e salva in django admin
Ho provato django-image-cropping
e django-ajaximage
per questo.
#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
)
Mentre django-ajaximage
carica un'immagine utilizzando AJAX, ma non permette all'amministratore di scegliere quale parte dell'immagine che vuole essere ritagliata, django-image-cropping
colture un'immagine in due passi: per prima cosa dobbiamo caricare un'immagine, salvarla nel db, quindi dobbiamo aprire di nuovo l'oggetto e selezionare la parte di ritaglio, e salvarlo nuovamente nel database, che ritengo inutilmente ingombrante. Eventuali suggerimenti?
È necessario creare un widget personalizzato. Questo compito non è solo per Python. È necessario anche lo script java sul lato client. – EvilX
Penso che dovresti o accettare la risposta o specificare le tue esigenze – tgdn