Skip to main content

Wagtail Lazy Images

Template tags that generate tiny blurry placeholder images alongside your wagtail images in order to lazy-load them medium.com style.

Installing

Install using pip: pip install wagtail-lazyimages

Usage

  1. Add wagtail_lazyimages to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'wagtail_lazyimages',
    ]
    
  2. Load the lazyimages_tags template tag library in your template:

    {% load "lazyimages_tags" %}
    
  3. Replace wagtail's image tag with lazy_image for images that should lazy load:

    {% lazy_image page.photo width-960 class="lazy" %}
    

    This template tag behaves just like wagtail's image tag with the exception that it generates an additional scaled down and blurred placeholder image. The URL of the placeholder image will appear in the src attribute of the image tag while the large version will be referenced in data-src:

    <img src="/path/to/placeholder-image.jpg" data-src"/path/to/image.jpg" class="lazy" />
    
  4. In the front end: Implement the lazy loading functionality yourself or use a dedicated JavaScript library like lozad.js:

    const observer = lozad('.lazy');
    observer.observe();
    

Alternative attribute

If you want to use a different attribute for referencing the original image than data-src use the parameter lazy_attr for that:

{% lazy_image page.photo width-960 lazy_attr="data-lazy-url" class="lazy" %}

As syntax

If you need to assign the image data to a template variable using Django's as syntax, the URL of the placeholder image is stored in the lazy_url attribute:

{% load "lazyimages_tags" %}

{% lazy_image page.photo width-960 as img %}

<img data-src="{{ img.url }}" src="{{ img.lazy_url }}" width="{{ img.width }}"
     height="{{ img.height }}" alt="{{ img.alt }}" />

attrs shortcut

In case you need to use Wagtail's attrs shortcut use lazy_attrs instead:

{% load "lazyimages_tags" %}

{% lazy_image page.photo width-960 as img %}

<img {{ img.lazy_attrs }} class="custom-class" />

Release files for wagtail-lazyimages 0.1.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 wagtail-lazyimages 0.1.8
File Size Uploaded
wagtail-lazyimages-0.1.8.tar.gz 5.6 kB Details

Release files / wagtail-lazyimages-0.1.8.tar.gz

Download URL wagtail-lazyimages-0.1.8.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7b960cb946f5f66e07445562718cf05f88f751ee13c7b179ce8993e56c10a9b4
BLAKE2b-256 checksum
How to use checksums
85dd005403bb0ade565d0eb7c3b020b62374fc24d6e83e2a3037962f229f18f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.14.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.35.0 CPython/3.6.9

Release history Release notifications | RSS feed

This release

0.1.8 This release

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1

1 release file

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