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
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
Release history Release notifications | RSS feed
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)
Built Distribution
File details
Details for the file sorl-thumbnail-12.3.tar.gz
.
File metadata
- Download URL: sorl-thumbnail-12.3.tar.gz
- Upload date:
- Size: 527.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce91c5b112a2ef930a09625adbd99682bd62f34be1963c28f3ffc0d0138a07fd |
|
MD5 | 82272bb68fb3616753d309ca8ace8e5a |
|
BLAKE2b-256 | b8a3821819f989712a06cc6c1c7b31d417052e1d27f0e5ff414f460532d90063 |
File details
Details for the file sorl_thumbnail-12.3-py2.py3-none-any.whl
.
File metadata
- Download URL: sorl_thumbnail-12.3-py2.py3-none-any.whl
- Upload date:
- Size: 40.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb277dc98daa07e892d429b73eed749411f7eff1ee6feef142a19e029582e8cd |
|
MD5 | f5ac724ff5d5cb41f364d33ee04e4234 |
|
BLAKE2b-256 | 801f805e47c76d9fd308fe21545ee1af16ef07883582c2d09d9372ea16712e4e |