docs Documentation Status
Travis-CI Build Status Requirements Status
Coverage Status
package PyPI Package latest release PyPI Package monthly downloads PyPI Wheel Supported versions Supported implementations

Middleware and templatetag for Django to utilize HTTP/2 push for assets included in a Django template. The middleware injects a Link header in each response if there are files to be pushed to the client. All files in the template which are suitable for HTTP/2 push should be included with the staticpush templatetag instead of the vanilla static templatetag. The former simply augments the later and registers the resulting static URL with the middleware.

This package currently supports Apache2 webservers with mod_http2 enabled, as the actual HTTP/2 push is offloaded to the webserver.


This is ALPHA code. Do not use in production! It only serves as a proof-of-concept for now.

Conditional HTTP/2 push is not supported yet. This means that your site will actually perform worse than over HTTP/1.1 because each response will trigger a push of all incldued assets, irrespective of any cache on the webbrowser.


pip install django-static-push


To run the all tests run:


Note, to combine the coverage data from all the tox environments run:

set PYTEST_ADDOPTS=--cov-append
PYTEST_ADDOPTS=--cov-append tox