Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Django custom storage for Thumbor backend.

Project Description

A Django custom storage for Thumbor backend.

This app provide 2 classes ThumborStorage and ThumborMigrationStorage. The last one is a storage you can use for Imagefield initialy using a FileSystemStorage you want to migrate to Thumbor without batch-moving all of them. That way, Django continues to serve them from the file system until you change the image on that field.

Install

pip install django-thumborstorage

Dependencies

Recommended:

Usage

settings.py

Add django_thumborstorage in your INSTALLED_APPS.

And set the following:

THUMBOR_SERVER = 'http://localhost:8888'
THUMBOR_SECURITY_KEY = 'MY_SECURE_KEY'
# This may be a different host than THUMBOR_SERVER
# only reachable by your Django server.
THUMBOR_RW_SERVER = 'http://localhost:8888'

models.py

Just set the storage parameter in the ImageField you want to manage with Thumbor:

from django_thumborstorage.storages import ThumborStorage

class Stuff(models.Model):
    def upload_path(instance, filename):
        return 'stuffs/%s' % filename
    photo = models.ImageField(upload_to=upload_path,
                              storage=ThumborStorage(),
                              height_field='photo_height',
                              width_field='photo_width')
    photo_height = models.IntegerField(blank=True, null=True)
    photo_width = models.IntegerField(blank=True, null=True)

In the code

You can get the Thumbor uuid from the <ImageField> instance using:

my_stuff.photo.storage.key(my_stuff.photo.name)

This is useful to generate_url() with Django-thumbor when original files are stored on Thumbor. Thus, you can pass the key as url parameter.

CHANGELOG

0.92.2

  • Fix readonly_to_rw_url() to manage suffix in the urls.

0.92.1

  • Handle status code of the Thumbor server response when posting an image.

0.92.0

  • Added experimental Python 3.4 support (Thanks to Charlie 123.)
  • Fixed broken support for Django < 1.7 (Thanks to Rizziepit.)
  • Added unicode support in file names (Thanks to Rizziepit.)

0.91.6

  • Add storages.readonly_to_rw_url(), a function to convert a read-only thumbor url in a rw url.

0.91.5

  • Use THUMBOR_SERVER to generate the original file url.

Backward imcompatibilities

  • THUMBOR_SERVER and THUMBOR_SECURITY_KEY are required in settings.

0.91.4

  • Add ThumborStorage.key(name) to retrieve the Thumbor uuid from the name.

0.91.3

Backward imcompatibilities

  • THUMBOR_WRITABLE_SERVER setting is replaced by THUMBOR_RW_SERVER since it is now used to retrieve the original file.

TODO

  • PUT
Release History

Release History

This version
History Node

1.9.12

History Node

0.92.2

History Node

0.92.0

History Node

0.91.8

History Node

0.91.7

History Node

0.91.6

History Node

0.91.5

History Node

0.91.4

History Node

0.91.3

History Node

0.91.2

History Node

0.91.1

History Node

0.91.0

History Node

0.90.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-thumborstorage-1.9.12.tar.gz (132.4 kB) Copy SHA256 Checksum SHA256 Source Apr 26, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting