Skip to main content
https://travis-ci.org/infinityxxx/django-thumbnail-maker.svg?branch=master https://coveralls.io/repos/infinityxxx/django-thumbnail-maker/badge.png?branch=master https://badge.fury.io/py/django-thumbnail-maker.svg

Auto-generator of thumbnails for Django, using sorl-thumbnail.

Features

  • Auto-genarates thumbnails using sorl-thumbnail while uploading (saving) images

  • You can use any engines & plugins you usually use with sorl-thumbnail

  • The application does not replace thumbnail templatetag and you can use everything you want from sorl-thumbnail

  • Command to auto-generate missing thumbnails

How to Use

Get the code

Get the code for the latest stable release use pip:

$ pip install django-thumbnail-maker

Configure your project

Register 'thumbnail_maker', in the INSTALLED_APPS section of your project’s settings anywhere after 'sorl.thumbnail' app (assume you already installed sorl-thumbnail):

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',
    ...
    'thumbnail_maker',
)

Set up required thumb formats in THUMBNAIL_MAKER_FORMATS dictionary. Keys are the names for your formats (could be any string). Values are tuples of length 2: first element is a geometry string (used in sorl-thumbnail), second is a dictionary with options (crop, quality, padding, format, etc.):

 THUMBNAIL_MAKER_FORMATS = {
    'banner':   ('400x300', {'crop': 'center',
                             'quality': 90}),
    '50x50':    ('50x50',   {}),
    'any_name': ('5x277',   {'padding': True})
}

You can set up THUMBNAIL_MAKER_DEBUG setting. By default it is set to False in order to pass exceptions while saving models or while generating batch of thumbnails. This setting is not required. Usage:

THUMBNAIL_MAKER_DEBUG = True

Set up your model’s field

Use ImageWithThumbnailsField and thumbs option, where thumbs is a tuple of thumb format names (keys from THUMBNAIL_MAKER_FORMATS dictionary):

from django.db import models
from thumbnail_maker.fields import ImageWithThumbnailsField

class Item(models.Model):
    image = ImageWithThumbnailsField(
        upload_to='somewhere',
        thumbs=('banner', '50x50'),
    )

Templates usage

All of the examples assume that you first load the thumbnail_maker template tag in your template:

{% load thumbnail_maker %}

A simple usage:

{% usethumbnail item.image "banner" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endusethumbnail %}

{% usethumbnail item.image "50x50" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endusethumbnail %}

You can also use string paths instead of image objects:

{% usethumbnail "dummy/image.png" "50x50" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endusethumbnail %}

Management commands usage

Django-thumbnail-maker comes with a manage.py command to generate missing thumbs. You can use it while

./manage.py make_thumbnails <app>.<model> <field>

In case you want to make all thumbs replacing old ones, use --force option:

./manage.py make_thumbnails --force <app>.<model> <field>

Metadata

Release files for django-thumbnail-maker 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-thumbnail-maker 0.0.6
File Size Uploaded Provenance
django-thumbnail-maker-0.0.6.tar.gz 560.4 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for django-thumbnail-maker 0.0.6
File Interpreter ABI Platform
django_thumbnail_maker-0.0.6-py3-none-any.whl Python 3 none any Details
django_thumbnail_maker-0.0.6-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 578.1 kB

Release files / django-thumbnail-maker-0.0.6.tar.gz

Download URL django-thumbnail-maker-0.0.6.tar.gz
Size 560.4 kB
Tags Source
SHA-256 checksum
How to use checksums
cc355e988b32f9e90a72ef1fd20c9bc25e483324781115e689031cabadd41edf
BLAKE2b-256 checksum
How to use checksums
3652b5d063e8002e79bda6802d3f17b581e3fd1c9a27592d4abae1f52a5ad922
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6

Release files / django_thumbnail_maker-0.0.6-py3-none-any.whl

Download URL django_thumbnail_maker-0.0.6-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ec67c1fff671734dd491baba1a7d11b6e6ec9ed743315c0870996ea20d79fe18
BLAKE2b-256 checksum
How to use checksums
bfc16d05e4345852024409b2926fc684914a5a927f2364c5f2906e8b7cb6bbe9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6

Release files / django_thumbnail_maker-0.0.6-py2.py3-none-any.whl

Download URL django_thumbnail_maker-0.0.6-py2.py3-none-any.whl
Size 8.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
faa6e1427824cf83299a93da3481e04d5baf4fd7f4b80b75a16d7704d9eccb3c
BLAKE2b-256 checksum
How to use checksums
fb05be1af8d018e17a3d921e91e12a682a076ce874f73c75a08ebb216d506c0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6

Security for django-thumbnail-maker 0.0.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page