Django es el entorno de desarrollo web para perfeccionistas con límites de tiempo

Generar miniaturas de imágenes con django-thumbs

Tras ver que la mayoría de los proyectos existentes para generar miniaturas de imágenes aún no funcionan con la API de Storage y que algunos resultan algo complejos para lo que yo quería me puse a desarrollar un campo que lo hiciera del modo más sencillo posible.

La idea original era generar un campo que:

  • Generara thumbnails de una manera sencilla y automática para los campos de imagen que quisiera con todos los tamaños que quisiera
  • Funcionara exactamente igual que ImageField e incluyera automáticamente nuevos métodos para acceder a las URLs de las miniaturas
  • Permitiera volver a ImageField en cualquier momento sin modificar prácticamente nada más que el tipo de campo
  • Funcionara con cualquier Storage Backend
  • Generara las miniaturas al subir una nueva imagen sin tener que acceder al Storage Backend y por lo tanto sin tener que volver a traer la imagen desde donde estuviera mi almacenamiento para generarlas (útil si usas almacenamiento fuera de tu servidor, como Amazon S3)
  • Eliminara automáticamente las miniaturas al eliminar la imagen

Y lo que surgió fue django-thumbs. En la página del proyecto tenéis toda la información necesaria para ponerlo a funcionar. Si buscáis algo más complejo y con más opciones tenéis sorl-thumbnail, aunque aún no soporta backends de almacenamiento.

Publicado por Antonio Melé el Martes 23 de Diciembre de 2008 Compártelo: Facebook: Twitter: | Categorías: imágenes, modelos, snippets

Entradas similares

Crear una imagen de nuestros modelos con django-command-extensions

Algo interesante que nos aporta django-command-extensions es poder crear una representación gráfica de nuestros modelos (o por decirlo de otro modo nuestro esquema de ...


Subdominios con Django

En ocasiones nos interesa trabajar con subdominios en nuestros proyectos Django. Para ello podemos utilizar un sencillo middleware para subdominios que podemos encontrar en ...


 
Métodos para crear perfiles de usuario

En múltiples ocasiones nos gustaría extender el modelo User para que incluyera otros campos y funciones. La manera "oficial" de hacer esto (la mostrada ...


Formularios con Django sin SPAM

¿Quieres luchar contra el SPAM en tus formularios sin tener que modificarlos? Una forma sencilla de evitar gran parte del SPAM automático son los ...


 
 

3 comentarios:

El Martes 23 de Diciembre de 2008 Pete dijo:

Gracias por esto code. No se creer que no estaba hecho ante de ahora.

Por favor, pusieras un roadmap por desarollo en la wiki?

El Miércoles 24 de Diciembre de 2008 Antonio Melé dijo:

Pete, en cuanto haya más ideas para añadir a django-thumbs y haya prevista una nueva versión pondré un roadmap en la página.

El Jueves 11 de Febrero de 2010 Christian dijo:
I tried to use the thumbs.py, but I cant to make it work. I had put in the form:
form = ImagemNewsForm(request.FILES) (Pdb) n > /home/lzt/sistema_s/lztwww/admin/views.py(34)news_img_insert() -> if form.is_valid(): (Pdb) n > /home/lzt/sistema_s/lztwww/admin/views.py(36)news_img_insert() -> msg = 'Inserido com sucesso.' (Pdb) p form.errors {'imagem': [u'Este campo \xe9 obrigat\xf3rio.']} (Pdb) Can you help me? Tank you.

Escribe un comentario: