Skip to main content

Thumbnails for Django

Project description

|travis| |pypi| |coveralls|

Thumbnails for Django.

Features at a glance
====================

- Support for Django 1.4, 1.5, 1.6, 1.7 and 1.8
- Python 3 support (for Django 1.5, 1.6, 1.7, 1.8)
- Storage support
- Pluggable Engine support for `Pillow`_, `ImageMagick`_, `PIL`_, `Wand`_ and `pgmagick`_
- Pluggable Key Value Store support (cached db, redis)
- Pluggable Backend support
- Admin integration with possibility to delete
- Dummy generation (placeholders)
- Flexible, simple syntax, generates no html
- ImageField for model that deletes thumbnails
- CSS style cropping options
- Back smart cropping, and remove borders from the images when cropping
- Margin calculation for vertical positioning
- Alternative resolutions versions of a thumbnail

Read more in `the documentation (latest version) <http://sorl-thumbnail.rtfd.org/>`_

Developers
==========

Feel free to create a new Pull request if you want to propose a new feature.
If you need development support or want to discuss with other developers
join us in the channel #sorl-thumnbnail at freenode.net or Gitter.

For releases updates and more in deep development discussion use our mailing list
in Google Groups.

- IRC Channel: irc://irc.freenode.net/#sorl-thumbnail

- Gitter: https://gitter.im/mariocesar/sorl-thumbnail

- Mailing List: sorl-thumbnail@googlegroups.com https://groups.google.com/d/forum/sorl-thumbnail

Tests
-----
The tests should run with tox and pytest. Running `tox` will run all tests for all environments.
However, it is possible to run a certain environment with `tox -e <env>`, a list of all environments
can be found with `tox -l`. These tests require the dependencies of the different engines defined in
the documentation. It is possible to install these dependencies into a vagrant image with the
Vagrantfile in the repo.

User Support
============

If you need help using sorl-thumbnail browse http://stackoverflow.com/questions/tagged/sorl-thumbnail
and posts your questions with the `sorl-thumbnail` tag.


How to Use
==========

Get the code
------------

Getting the code for the latest stable release use 'pip'. ::

$ pip install sorl-thumbnail

Install in your project
-----------------------

Then register 'sorl.thumbnail', in the 'INSTALLED_APPS' section of
your project's settings. ::

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.comments',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.contenttypes',

'sorl.thumbnail',
)


Templates Usage
---------------

All of the examples assume that you first load the thumbnail template tag in
your template.::

{% load thumbnail %}


A simple usage. ::

{% thumbnail item.image "100x100" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}

See more examples in the section `Template examples`_ in the Documentation

Model Usage
-----------

Using the ImageField that automatically deletes references to itself in the key
value store and its thumbnail references and the thumbnail files when deleted.::

from django.db import models
from sorl.thumbnail import ImageField

class Item(models.Model):
image = ImageField(upload_to='whatever')

See more examples in the section `Model examples`_ in the Documentation

Low level API
-------------

You can use the 'get_thumbnail'::

from sorl.thumbnail import get_thumbnail
from sorl.thumbnail import delete

im = get_thumbnail(my_file, '100x100', crop='center', quality=99)
delete(my_file)

See more examples in the section `Low level API examples`_ in the Documentation

--------------------------
Frequently asked questions
--------------------------

Is so slow in Amazon S3 !
-------------------------

Posible related to the implementation of your Amazon S3 Backend, see the issue `#351`_
due the storage backend reviews if there is an existing thumbnail when tries to
generate the thumbnail that makes an extensive use of the S3 API

A fast workaround if you are not willing to tweak your storage backend is to set
the `THUMBNAIL_FORCE_OVERWRITE` setting to `True` by default is `False`, so it will
avoid to overly query the S3 API




.. |travis| image:: https://secure.travis-ci.org/mariocesar/sorl-thumbnail.png?branch=master
:target: https://travis-ci.org/mariocesar/sorl-thumbnail
.. |pypi| image:: https://badge.fury.io/py/sorl-thumbnail.png
:target: http://badge.fury.io/py/sorl-thumbnail
.. |coveralls| image:: https://coveralls.io/repos/mariocesar/sorl-thumbnail/badge.png?branch=master
:target: https://coveralls.io/r/mariocesar/sorl-thumbnail?branch=master

.. _`Pillow`: http://pillow.readthedocs.org/en/latest/
.. _`ImageMagick`: http://www.imagemagick.org/script/index.php
.. _`PIL`: http://www.pythonware.com/products/pil/
.. _`Wand`: http://docs.wand-py.org/
.. _`pgmagick`: http://pgmagick.readthedocs.org/en/latest/

.. _`Template examples`: http://sorl-thumbnail.readthedocs.org/en/latest/examples.html#template-examples
.. _`Model examples`: http://sorl-thumbnail.readthedocs.org/en/latest/examples.html#model-examples
.. _`Low level API examples`: http://sorl-thumbnail.readthedocs.org/en/latest/examples.html#low-level-api-examples
.. _ `#351`: https://github.com/mariocesar/sorl-thumbnail/issues/351

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sorl-thumbnail-12.3.tar.gz (527.0 kB view hashes)

Uploaded Source

Built Distribution

sorl_thumbnail-12.3-py2.py3-none-any.whl (40.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page