Returns a webp image instead of jpg, gif or png to browsers which have support.
Load the webp
module in your template and use the webp
templatetag to point
to the image you want to convert.
{% load webp %}
{# Use webp as you would use static templatetag #}
<img src="{% webp 'path/to/your/image.png' %}" alt="image" />
<!--
If the browser has support, generates:
<img src="/static/WEBP_CACHE/path/to/your/image.webp" alt="image" />
else, generates:
<img src="/static/path/to/your/image.png" alt="image" />
-->
First of all, you must install the webp support. In ubuntu you can install via apt-get:
apt-get install libwebp-dev
Please, check the official guide for the other systems.
Then, install django-webp
.
pip install django-webp
add it to INSTALLED_APPS
configuration
INSTALLED_APPS = (
'django.contrib.staticfiles',
'django_webp',
'...',
)
and to TEMPLATE_CONTEXT_PROCESSORS
configuration
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.static",
"django_webp.context_processors.webp",
"...",
)
django-webp
uses Pillow
to convert the images. If you've installed the libwebp-dev
after already installed Pillow
,
it's necessary to uninstall and install it back because it needs to be compiled with it.
You can clean the cache running:
python manage.py clean_webp_images