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

Project details


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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file sorl-thumbnail-12.3.tar.gz.

File metadata

File hashes

Hashes for sorl-thumbnail-12.3.tar.gz
Algorithm Hash digest
SHA256 ce91c5b112a2ef930a09625adbd99682bd62f34be1963c28f3ffc0d0138a07fd
MD5 82272bb68fb3616753d309ca8ace8e5a
BLAKE2b-256 b8a3821819f989712a06cc6c1c7b31d417052e1d27f0e5ff414f460532d90063

See more details on using hashes here.

File details

Details for the file sorl_thumbnail-12.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for sorl_thumbnail-12.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bb277dc98daa07e892d429b73eed749411f7eff1ee6feef142a19e029582e8cd
MD5 f5ac724ff5d5cb41f364d33ee04e4234
BLAKE2b-256 801f805e47c76d9fd308fe21545ee1af16ef07883582c2d09d9372ea16712e4e

See more details on using hashes here.

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