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.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61c62f45f1a6a79edc362b01782ebd8aaa4fc379025d323c6d48ce951bdf6269 |
|
MD5 | 75241366b7e95e651cafaa3cc60f4e9a |
|
BLAKE2b-256 | e1c1575878779b08b5825ab6d2fb135cdff9f83ce3cad7e0845ddd0faf7be533 |
Hashes for django_ultimatethumb-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a792411532670bf9e4c878c43aacfff5d79a5caec20425dc7c84912b22befaf0 |
|
MD5 | 90e13017634aa65a347f7990a9e4b8cd |
|
BLAKE2b-256 | caf7c33be3750334f1c22d3b898772626fca6db1cd969d8cc050e3fd14f0ec54 |