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.4a1.tar.gz (525.8 kB view details)

Uploaded Source

Built Distribution

sorl_thumbnail-12.4a1-py2.py3-none-any.whl (41.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file sorl-thumbnail-12.4a1.tar.gz.

File metadata

File hashes

Hashes for sorl-thumbnail-12.4a1.tar.gz
Algorithm Hash digest
SHA256 cfa75ecafac90e18e48b8413e980cd50daa726cbda0d4b77eb47912cbeac884d
MD5 9d67047d266d3b48fb3766e65085ecb0
BLAKE2b-256 d3ce2ef5a61bd9dfa1169dce3ebc9e9397cda5b876f8fc0aa0937f82df0b4235

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sorl_thumbnail-12.4a1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 84b9da6c0f12914addc4b6ddb5478160b1a750ae3ee4a8c0f1c487ee51b09748
MD5 6ac525d2172f46fb506802b92a3e031a
BLAKE2b-256 37053a52d8effa67ba0656710f51b90d4de8b95a41a0050cd74bf125d2d2a55e

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