Skip to main content

Django wrapper for RSZ.IO

Project description

A Django wrapper for https://rsz.io

Installation

Install via pip:

pip install django-rszio

Usage

  1. Add to INSTALLED_APPS in settings.py 'rszio',

  2. Add the include to urlpatterns in urls.py urlpatterns = [ url(r'^media/', include('rszio.urls')), ]

  3. Load the template tag into a template {% load rszio %}

  4. Use the image tag. {% image 'path/to/image.jpg' width=100 rotate=10 %} Visit the RSZ.IO Docs for all of the options. Convert parameters to kwargs.

Options

Prevalidate if the image exists in the default file storage

Add to settings.py

RSZIO_CHECK_EXISTS = True

The default is False

Cache Control headers

It is highly recommended that if you use this package your site should be sitting behind a CDN. Not sure what this is, check out https://www.cloudflare.com/

Add to settings.py

To set an expiration timeout use an integer in seconds. For example, below the image is set to cache for an hour.

RSZIO_CACHE_CONTROL = 3600

This will output Cache-Control max-age=3600 in the response header.

The advanced option

Any string you pass that doesn’t convert to an int will be set in the header.

RSZIO_CACHE_CONTROL = "no-cache"

This will output Cache-Control no-cache in the response header.

Caveats

  • KISS

  • The origional image must be accessable via a URL, so RSZ.IO can access it. I use django-storages with AWS S3 to serve my media.

  • This is tested and used in production with Django 1.10 and 1.11 on Python 3.5 and 3.6. But this should work on older versions of Django and Python 2. Open an issue or pull request if not the case.

Versioning

The package is following the Major.Minor.BugFix philosophy. So breaking changes will increase the major number. New features will increase the minor number.

So it is safe to put this line in your requirements.txt

All new features, no breaking features

django-rszio>=1.0.0,<2.0

Just bugfixes

django-rszio>=1.0.0,<1.1

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-rszio-1.1.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

django_rszio-1.1.0-py2.py3-none-any.whl (7.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-rszio-1.1.0.tar.gz.

File metadata

File hashes

Hashes for django-rszio-1.1.0.tar.gz
Algorithm Hash digest
SHA256 bab716bbaeaa36ea320276caa1f96dc8316948ed154ad5ae4f58602c978ae3c7
MD5 ac1250f4dbf95ff9b7f6e9ad1d08336f
BLAKE2b-256 d639249649f7d4fbef2166df4f9a6f6e2de4864ee6d9d03b7703530159810531

See more details on using hashes here.

File details

Details for the file django_rszio-1.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_rszio-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b039153a86fd7a6ac1c4e24bf090a583a42d07215ec44416b68487866c93a647
MD5 acdd20f6ef4f92e11fd9c08ac35835bc
BLAKE2b-256 9e144d113eb8513f7f90c0e91e68e27856f893fbb00771aba04ba8998dbd83bb

See more details on using hashes here.

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