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' mymodel.imagefield.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' mymodel.imagefield.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.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87d574797a93267d54f2ff2e0be177e345dc3321a7ffda0ef934d876e0240e01 |
|
MD5 | 873d7e3ed7f1afca824c79f17cdfe481 |
|
BLAKE2b-256 | 13e9636dfb08e1a6d25e95b00e5a3c970633ad67f1cd40762bbf27e1784ca212 |
Hashes for django_ultimatethumb-0.5.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ebfacb7a1218b4d15f2336db689692f32a5b5fc1f2f0d2348ddd09f5272b9a3 |
|
MD5 | 0167884416ec8d99419c7d4355ec6ee9 |
|
BLAKE2b-256 | 07d2754764ad4c3da181cc9e0b66b5e5abfebe501f15b40f5525c5ac29297ea8 |