Características

Instalar

  1. Descarga thumbs.py
  2. Impórtalo en tu models.py y reemplaza ImageField por ImageWithThumbsField en tus modelos
  3. Añade un atributo sizes con de una lista de tamaños que deseas para las miniaturas
  4. Asegúrate de que has definido MEDIA_URL en tu settings.py
  5. ¡Eso es todo!

Ejemplo funcional

models.py

from django.db import models
from thumbs import ImageWithThumbsField

class Persona(models.Model):
    foto = ImageWithThumbsField(upload_to='images', sizes=((125,125),(200,200)))
    otra_foto = ImageWithThumbsField(upload_to='images')

En este ejemplo tenemos un modelo Persona con 2 campos imagen.

Puedes ver que el campo otra_fotono tiene el atributo sizes. Este campo funciona exactamente de la misma manera que un ImageField normal.

El campo foto tiene un atributo sizes que especifica el tamaño de las miniaturas deseadas. Este campo funciona de la misma manera que ImageField pero también crea las miniaturas especificadas al subir un nuevor archivo y las elimina cuando el archivo es eliminado.

Con ImageField se obtiene la URL de la imagen con: alguien.foto.url Con ImageWithThumbsField la imagen original se obtiene de la misma manera. También se obtiene la dirección URL de cada miniatura especificando su tamaño: En este ejemplo usamos alguien.foto.url_125x125 y alguien.foto.url_200x200 para obtener las URLs de ambas miniaturas.

Desinstalar

En cualquier momento puedes echarte atrás y volver a usar ImageField de nuevo sin alterar la base de datos o cualquier otra cosa. Basta con sustituir ImageWithThumbsField por ImageField de nuevo y asegurarte de eliminar el atributo sizes. Todo funcionará de la misma forma que antes de usar django-thumbs. Sólo recuerda eliminar las miniaturas generadas en el caso de que no quieras seguir teniéndolas.