Foros del Web » Programando para Internet » Python »

Django admin redimensionar imagen

Estas en el tema de Django admin redimensionar imagen en el foro de Python en Foros del Web. Hola a todos, Como se puede redimensionar una imagen en django admin ? Saludos...
  #1 (permalink)  
Antiguo 22/10/2013, 12:36
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 13 años, 1 mes
Puntos: 28
Django admin redimensionar imagen

Hola a todos,
Como se puede redimensionar una imagen en django admin ?

Saludos
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #2 (permalink)  
Antiguo 22/10/2013, 13:38
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Respuesta: Django admin redimensionar imagen

¿Requieres redimensionarlo a tamaños variables? Si son tamaños predefinidos puedes usar https://github.com/jonasundderwolf/d...image-cropping que ya trae su widget para seleccionar el área.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 23/10/2013, 03:17
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 13 años, 1 mes
Puntos: 28
Respuesta: Django admin redimensionar imagen

Lo que necesito es al usar ImageField en models, que al subir la imagen en admin se suba la imagen normal redimensionada a unos 850 px de ancho, y tambien se haga una imagen pequeña para mostrar en la web.
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #4 (permalink)  
Antiguo 23/10/2013, 12:25
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Respuesta: Django admin redimensionar imagen

Pues esa app sirve muy bien para eso.

Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 29/10/2013, 23:03
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Django admin redimensionar imagen

Igual si buscas algo mas completo puedes usar sorl-thumbnails. Pero necesita redis y otras librerías entonces tal vez no te sea tan conveniente.

En uno de los casos mas extremos puedes hacer lo siguiente:
Crear un método en tu modelo donde con PIL o piwoll hagas el resize tu manualmente y te regrese la ruta de la imagen. Obviamente se escucha fácil pero no lo es porque puedes tener algún otro Storage, problemas de colisiones, permisos, etc...
  #6 (permalink)  
Antiguo 14/01/2014, 15:28
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 13 años, 1 mes
Puntos: 28
Respuesta: Django admin redimensionar imagen

Cita:
Iniciado por Carlangueitor Ver Mensaje
¿Requieres redimensionarlo a tamaños variables? Si son tamaños predefinidos puedes usar https://github.com/jonasundderwolf/d...image-cropping que ya trae su widget para seleccionar el área.

Saludos
Gracias, pero no consigo hacerlo funccionar:
Concretamente en esta linea:
from easy_thumbnails.conf import Settings as thumbnail_settings

Unresolved reference
y lo tengo instalado...


Cita:
Iniciado por razpeitia Ver Mensaje
Igual si buscas algo mas completo puedes usar sorl-thumbnails. Pero necesita redis y otras librerías entonces tal vez no te sea tan conveniente.
Lo tengo instalado y configurado segun la documentacion.... y no pasa nada... simplemente es como si fuera a usar el tipico models.ImageField
Y aunque en la consola me da un error:
DeprecationWarning: django.utils.simplejson is deprecated; use json instead.
from django.utils import simplejson

Uso Django 1.6
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #7 (permalink)  
Antiguo 14/01/2014, 17:11
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Respuesta: Django admin redimensionar imagen

Código Python:
Ver original
  1. from easy_thumbnails.conf import Settings as thumbnail_settings

Settings es con minusculas.
__________________
Grupo Telegram Docker en Español
  #8 (permalink)  
Antiguo 14/01/2014, 17:22
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Django admin redimensionar imagen

O como dije sorl-thumbnails. Solo lee la documentación.

http://sorl-thumbnail.readthedocs.or...admin-examples
  #9 (permalink)  
Antiguo 16/01/2014, 14:33
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 13 años, 1 mes
Puntos: 28
Respuesta: Django admin redimensionar imagen

Ninguna de las dos opciones me ha servido, no se si es que hay algun problema con django 1.6.1 o pyhton 2.7.5 ( el que uso )

Asi que al final he decidido hacerlo con PIL, he conseguido redimensionar las imagenes, este es mi modelo de pruebas :
Código:
class Picture(models.Model):
    image = models.ImageField(upload_to="images")

    def save(self):
        if not self.image:
            return

        super(Picture, self).save()
        image = Image.open(self.image)
        ancho, alto = image.size
        ratio_height = (980*alto)/ancho
        size = ( 980, ratio_height)
        image = image.resize(size, Image.ANTIALIAS)
        image.save(self.image.path)
Como hacer que a parte de la imagen redimensionada se guarde un crop o thumbnail, por ejemplo de 150 x 150 pero que la imagen no se estire, que corte la parte que no encaja.

no se si me he explicado bien, a parte de esta imagen que se guarda quiero guardar un thumbnail. y tener 2 iamgenes 1 cargarla en la web y otra al pulsar en ver por ejemplo.

como ya dije soy neuvo en django, estoy haciendo pruebas y no consigo hacerlo bien, alguna ayuda ??
Muchas gracias.
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting

Etiquetas: django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:19.