Automatically add dimension attributes to all <img> tags in a response to improve rendering speed on the client.
Specifying image dimensions in HTML improves both percieved and actual client-side rendering performance by preventing reflow. However, maintaining explicit dimensions in templates is tedious and impractical in some cases. This middleware solves that in a plug-and-play manner by automatically setting dimensions in all &img& tags in a response.
- django-celery to run image fetch and dimensions calculations in the background
- PIL
- A cache that is shared between web server and celery (e.g. memcached)
- Run pip install django-image-dimensions
- Add 'imagedimensions' app to INSTALLED_APPS
For a quick test-drive add 'imagedimensions.middleware.ImageDimensionsMiddleware' to MIDDLEWARE_CLASSES. However, this is not suitable for production use as it adds an overhead to every request. For production, replace {% load cache %} in your templates with {% load imgdimensions %}.