Skip to main content

PyPi_Version PyPi_Status Format python_versions django_versions License

Django ImageIt is a simple image handling plugin for Django that allows for scaling, upscaling and cropping of raster images. Imageit also has the capability to accept svg files if required.

Key features

  • Preview current image and new image selected for upload.

  • Scale images to fit the bounds of max_width and max_height.

  • Crop images to user defined dimensions before being scaled.

  • Option to upscale smaller images.

  • Utilises cropper.js.

  • Accepts .svg images.

  • Django Admin support.

Usage

  • Install django-imageit using pip
    pip install django-imageit
  • Add ‘imageit’ to INSTALLED_APPS in your settings.py
    INSTALLED_APPS = [
        ...
        'imageit',
        ...
    ]
  • Import Imageit model fields to use them in your models.
    from imageit.models import ScaleItImageField, CropItImageField
    
    class ImageItModel(models.Model):
        scale_image = ScaleItImageField(max_width=100, max_height=100, quality=100, null=True, blank=True)
        crop_image = ScaleItImageField(max_width=1000, max_height=1000, quality=100, null=True, blank=True)
  • Available Imageit field KWARGS
    • max_width (int): Image will be scaled to the bounds of max_width in pixels (while retaining aspect ratio)

    • max_height (int): Image will be scaled to the bounds of max_height in pixels (while retaining aspect ratio)

    • quality (int): Quality in dpi of resampled images

    • max_save_size (int): Max size (mb) permitted for images after scaling/ resampling

    • upscale (bool): Upscale images to the value of max_width/max_height?

Options

Imageit provides many options to tailor functionality specifically for your use case. While specific dimensions for scaling can be set as arguments on a field-by-field basis, Imageit also allows for project wide defaults to be set if no value is provided at the field level.

Imageit will default to 100dpi quality at maximum dimensions of 1000x1000, If you wish to use your own custom defaults, you can do so in your settings.py as follows.

Settings overrides .. code-block:: python

IMAGEIT_MAX_UPLOAD_SIZE_MB = 5 IMAGEIT_MAX_SAVE_SIZE_MB = 5 IMAGEIT_DEFAULT_IMAGE_PROPS = {“max_width”: 1000, “max_height”: 1000, “quality”: 100, “upscale”: False} IMAGEIT_ACCEPTED_CONTENT_TYPES = ‘image/jpeg’, ‘image/png’, ‘image/svg+xml’ IMAGEIT_SVG_CONTENT_TYPE = ‘image/svg+xml’

  • IMAGEIT_MAX_UPLOAD_SIZE_MB is provided in MB, and is validated on the client side as well as on the server before cropping/scaling.

  • IMAGEIT_MAX_SAVE_SIZE_MB is provided in MB, and is validated on the server after and scaling/cropping/resampling is completed.

  • IMAGEIT_DEFAULT_IMAGE_PROPS Default properties used to scale/resample images

  • IMAGEIT_ACCEPTED_CONTENT_TYPES Content types accepted by imageit. (File mimes are validated by 3rd party FileTypes package)

Metadata

Release files for django-imageit 0.0.8

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-imageit 0.0.8
File Size Uploaded
django-imageit-0.0.8.tar.gz 28.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-imageit 0.0.8
File Interpreter ABI Platform
django_imageit-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 59.1 kB

Release files / django-imageit-0.0.8.tar.gz

Download URL django-imageit-0.0.8.tar.gz
Size 28.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e65a783e8dacf3288501103a7085505f80fa4ef508244be26f31ed3e640e08dd
BLAKE2b-256 checksum
How to use checksums
5b1b07ad0a7de69c5612efcc1fa3aed1175f70ebf00c48e76ca2569d243dd4e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.16

Release files / django_imageit-0.0.8-py3-none-any.whl

Download URL django_imageit-0.0.8-py3-none-any.whl
Size 30.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98565419fb669acc997c4fe9ba6e45ca7b42eb8691059d78eb19183978a92535
BLAKE2b-256 checksum
How to use checksums
c4b5095d21832be1a0b1109158455eae0cfc2af85b7194cea211654b06dec521
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.16

Release history Release notifications | RSS feed

This release

0.0.8 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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