Hola Hubermann, efectivamente, para poder saber donde se encuentra tu imagen necesitaras consultarlo de tu modelo, en mi caso realizo una operación como la que tu requieres, el cambio es que yo no modifico la imagen original y únicamente modifico la imagen que me están consultando y regreso la nueva imagen. Esto me ha funcionado correctamente por que el flujo de la aplicación no en tan grande así que me va bien.
Otro dato es que como la imagen no es accesible desde url (esto fue pensado así), las fotos en este caso son tratadas y regresadas para incrustar en un img de mi template. <img src="data:image/jpg;base64,{{ photo }}" alt="Base64 encoded image" /> Y con poco de miedo de faltar a la culturilla pythónica. def foto64(fichero, mini=False): try : import base64 archivo = StringIO() imagen = Image.open(fichero, "r") #el fichero seria la ruta de tu consulta del modelo x,y = imagen.size rel = round(Decimal(x)/Decimal(y), 2) if rel >= 1.33: recorte = [((x/2)-(y*5/12)),0,((x/2)+(y*5/12)),y] imagen = imagen.crop(recorte) if mini: #Esto lo uso para aun auto completado en un texbox, que regresa la foto con nombres imagen.thumbnail((30, 34), Image.ANTIALIAS) else: imagen.thumbnail((294, 391), Image.ANTIALIAS) imagen.save(archivo, 'JPEG') return base64.b64encode(archivo.getvalue()) except: imagen = "" #aqui tendrias una cadena de alguna imagen que quieras regresar si tienes un error return imagen Saludos El día 1 de septiembre de 2011 12:04, Hubermann <huberm...@gmail.com> escribió: > Hola guillermo, gracias por la respuesta, ahora el tema es que soy sumamente > novato en esto de django > (programo en php) > > como deberia hacer para saber cual es la imagen subida y darle las opciones > de crop para el thumbnail, resize y luego eliminar la original? eso tengo q > hacerlo en el modelo? > > puedo hacer una funcion aparte y pasarle los parametros que quiero? > > por ejemplo: > > from mi_funcion_para_imagenes import crop_imagen, resize_imagen > > > ultima = mi-imagen-recien-subida > ultima.crop_imagen(150px, cuadrado) //opciones de cuadrado o normal para > cortar proporcionalmente > ultima.resize_imagen(700px) //llevar la imagen a un ancho maximo de 700px y > luego eliminar la original > > > Gracias por responder, saludos desde Baires > > > > On Sep 1, 2011, at 12:06 AM, Guillermo Moguel wrote: > >> Puedes usar la librería de PIL con eso haces eso, yo la uso también >> con django y tengo esto para recortar la parte central mas o menos en >> una proporción de foto infantil >> >> from PIL import Image >> >> foto = Image.open(fichero) >> x = foto.size[0] >> y = foto.size[1] >> rel = round(Decimal(x)/Decimal(y), 2) >> >> if rel >= 1.33: >> recorte = [((x/2)-(y*5/12)),0,((x/2)+(y*5/12)),y >> foto = foto.crop(recorte) >> >> return foto >> >> >> >> Espero te sirva. >> Saludos de Chiapas. >> >> El día 31 de agosto de 2011 21:21, Hubermann <huberm...@gmail.com> escribió: >>> Hola >>> >>> quisiera saber que se usa en python para la tarea hacer crop y generar un >>> thumbnail en Django. >>> >>> encontre un plugin thumbs.py pero solo hace thumbnail y lo hace cuadrado. >>> (quisiera darle un ancho y el alto q sea proporcional) >>> >>> tambien encontre photologue pero me parece demasido grande para lo que >>> necesito hacer y poca info de como utilizarlo >>> >>> Salu2 >>> _______________________________________________ >>> Python-es mailing list >>> Python-es@python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> >> >> -- >> Guillermo Moguel Mandujano >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Guillermo Moguel Mandujano _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/