This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
README
===============
Easy Thumbnails
===============
The powerful, yet easy to implement thumbnailing application for Django.
To install this application into your project, just add it to your
``INSTALLED_APPS`` setting (and run ``manage.py syncdb``)::
INSTALLED_APPS = (
...
'easy_thumbnails',
)
Template usage
==============
To generate thumbnails in your template, use the ``{% thumbnail %}`` tag. To
make this tag available for use in your template, use::
{% load thumbnails %}
Basic tag Syntax::
{% thumbnail [source] [size] [options] %}
*source* must be a ``File`` object, usually an Image/FileField of a model
instance.
*size* can either be:
* the size in the format ``[width]x[height]`` (for example,
``{% thumbnail person.photo 100x50 %}``) or
* a variable containing a valid size (i.e. either a string in the
``[width]x[height]`` format or a tuple containing two integers):
``{% thumbnail person.photo size_var %}``.
*options* are a space separated list of options which are used when processing
the image to a thumbnail such as ``sharpen``, ``crop`` and ``quality=90``.
Model usage
===========
You can use the ``ThumbnailerField`` or ``ThumbnailerImageField`` fields (based
on ``FileField`` and ``ImageField``, respectively) for easier access to
retrieve (or generate) thumbnail images.
By passing a ``resize_source`` argument to the ``ThumbnailerImageField``, you
can resize the source image before it is saved::
class Profile(models.Model):
user = models.ForeignKey('auth.User')
avatar = ThumbnailerImageField(
upload_to='avatars',
resize_source=dict(size=(50, 50), crop='smart'),
)
Lower level usage
=================
Thumbnails are generated with a ``Thumbnailer`` instance. For example::
from easy_thumbnails import Thumbnailer
def square_thumbnail(source):
thumbnail_options = dict(size=(100, 100), crop=True, bw=True)
return Thumbnailer(source).get_thumbnail(thumbnail_options)
By default, ``get_thumbnail`` saves the file (using file storage). The source
file used to instanciate the ``Thumbnailer`` must have a ``name`` instance
relative to the storage root.
The ``ThumbnailFile`` object provided makes this easy::
from easy_thumbnails import ThumbnailFile
# For an existing file in storage:
source = ThumbnailFile('animals/aarvark.jpg')
square_thumbnail(source)
# For a new file:
picture = open('/home/zookeeper/pictures/my_anteater.jpg')
source = ThumbnailFile('animals/anteater.jpg', file=picture)
square_thumbnail(source)








