Skip to main content

Image compressor for Django apps.

Project description

Django Image Compressor

Django Image Compressor is a tool to compress your images. Easy to plug-in and easy to use. The tool compresses the uploaded image before saving data to db.

Installation

To install django-image-compressor

$ pip install django-image-compressor

Add the app to your project:

# settings.py
INSTALLED_APPS = (
    ...
    'django-image-compressor',
    ...
)

Usage

Package will add additional 4 fields to your forms. You can compress your images by reducing the quality of the images or resize them or both. If you leave input width and/or height fields empty and try to resize your image, sizes will be reduced twice. Only compressed images will be saved to your db and original ones will be ignored.

In order to use the compressor, first create a ModelForm in forms.py and add ImageCompressorFormMixin to your form:

# forms.py
from django import forms
from django_image_compressor.mixins import ImageCompressorFormMixin

class YourImageUploadForm(ImageCompressorFormMixin, forms.ModelForm):
    ...
    compressed_image_fields = ('your_image_field_1', 'your_image_field2', ...)
    ...

If you want to add compressor to your Django Admin Site, then add ImageCompressorAdminMixin and the created form to your ModelAdmin class.

# admin.py
from django.contrib import admin
from django_image_compressor.mixins import ImageCompressorAdminMixin
from .forms.py import YourImageUploadForm

class YourModelAdmin(ImageCompressorAdminMixin, admin.ModelAdmin):
    ...
    custom_form = YourImageUploadForm
    ...

Project details


Download files

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

Source Distribution

django-image-compressor-0.3.6.tar.gz (8.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page