Skip to content

Django HTTP/2 push integration for staticfiles app (proof-of-concept)

License

Notifications You must be signed in to change notification settings

fladi/django-static-push

Repository files navigation

Overview

docs Documentation Status
tests
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.

Warning

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.

Installation

pip install django-static-push

Documentation

https://django-static-push.readthedocs.io/en/latest/

Development

To run the all tests run:

tox

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

Windows
set PYTEST_ADDOPTS=--cov-append
tox
Other
PYTEST_ADDOPTS=--cov-append tox

About

Django HTTP/2 push integration for staticfiles app (proof-of-concept)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages