Package Info

python-django-athumb


A simple, S3-backed thumbnailer field


Development/Languages/Python

Storing images and their thumbnails on S3 is a bit of a clumbsy endeavor with Django. While this Django app may work with more typical storage backends, it is intended to accept image uploads, thumbnail them, and upload the original plus the thumbs to S3. You may then get to the thumbnails in your template by doing something like:

<img src="{% thumbnail some_obj.image '80x80' %}" />

This automatically assembles the remote S3 URL to retrieve the thumbnail from. No error checking is done, and several assumptions are made for the sake of speed.

The primary advantage of django-athumb is that, unlike sorl and others, thumbnails are generated at the time of user uploading the original image. Instead of generating thumbs on-demand and making the user wait, we get that out of the way from the beginning. This leads to a few big benefits:

  • We never check for the existence of a file, after the first save/upload. We assume it exists, and skip a whole lot of Disk I/O trying to determine that. This was horrendously slow on sorl + S3, as it had to hit a remote service every time it wanted to know if a thumbnail needed generating.
  • Since we define every possible thumbnail in advance via models.py, we have a defined set of possible values. They can also be more intelligently named than other packages. It is also possible to later add more sizes/thumbs.
  • This may be ran on your own hardware with decent speed. Running it on EC2 makes it just that much faster.

License: BSD-3-Clause
URL: http://github.com/duointeractive/django-athumb

Categories

Releases

Package Version Update ID Released Package Hub Version Platforms Subpackages
2.0-2.1 info openSUSE-2017-142 2017-01-24 12 GA-SP5
  • AArch64
  • ppc64le
  • s390x
  • x86-64
  • python-django-athumb