Generate thumbnails of anything.
Project description
What is django-ultimatethumb
django-ultimatethumb is another Django library for generating thumbnails but has some advantages:
Thumbnails are not generated when the templatetag is called. Instead, images are generated on demand when they are requested by the browser. This can lead to a major speedup of your page response times.
Thumbnails can be generated from static files too (for example to downscale retina-optimized images and therefore reducing traffic).
Generate multiple thumbnail sizes at once for use in picture html tags with multiple sources (e.g. with media queries).
Quick start
To install django-ultimatethumb just use your preferred Python package installer:
$ pip install django-ultimatethumb
Add some stuff to your Django settings
INSTALLED_APPS = (
# some other apps
'ultimatethumb',
)
# This is the path where the generated thumbnail files are cached.
ULTIMATETHUMB_ROOT = '/filesystem/path/to/thumbnails/'
# This is the base url for your thumbnails
ULTIMATETHUMB_URL = '/thumbnails/'
Next, add the django-ultimatethumb urls to your urls.py
urlpatterns += patterns(
'',
url(
r'^{0}/'.format(settings.ULTIMATETHUMB_URL.strip('/')),
include('ultimatethumb.urls')
),
To use django-ultimatethumb in your templates, just load the templatetags and call the ultimatethumb tag with proper parameters:
{% load ultimatethumb_tags %}
{% ultimatethumb 'mythumb' image.file.name sizes='400x0,200x0' %}
<picture>
{% for source in mythumb %}
<source
srcset="{{ source.url_2x }} 2x, {{ source.url }} 1x"
{% if not forloop.last %}media="(max-width: {{ source.size.width }}px)"{% endif %}
/>
{% if forloop.last %}<img src="{{ source.url }}" />{% endif %}
{% endfor %}
</picture>
This gives you a full-featured picture tag including multiple sources with media queries for different browser sizes and also provides retina images.
You can also use django-ultimatethumb in a much simpler way:
{% load ultimatethumb_tags %}
{% ultimatethumb 'mythumb' image.file.name sizes='400x0' %}
<img src="{{ mythumb.0.url }}" />
To resize static images, just prefix the path with static:, for example:
{% load ultimatethumb_tags %}
{% ultimatethumb 'mythumb' 'static:img/logo.jpg' sizes='400x0' %}
<img src="{{ mythumb.0.url }}" />
There are many other options/parameters to pass to the templatetag. Please refer to the codebase until the documentation is more complete.
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
Built Distribution
Hashes for django-ultimatethumb-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce882e5b4b01d5f4c0f0eb6e4c28f83a0bf4177b3c8441ced516403b03b59e8f |
|
MD5 | 5cae1424cd17a8a432ad4e5ef3419927 |
|
BLAKE2b-256 | 36a6357bef8596bc76f1ac0e40423a649334aa706b94ceccb0954c2f8288c493 |
Hashes for django_ultimatethumb-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6be2be2e235c9e12631a5fa95386f9cf08cfe7171f3fc690ff2eb56db05ae04 |
|
MD5 | 9ae84a74622e7f38265cd5d05ed89916 |
|
BLAKE2b-256 | c5ff23b8de67e522962e509268f0a66e238c7ea93600b04ba166f7e73d06e01f |