Coder Social home page Coder Social logo

django-thumborstorage's Introduction

django-thumborstorage

https://coveralls.io/repos/Starou/django-thumborstorage/badge.png?branch=master Travis C.I.

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.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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.