Note: This is not ready for production. APIs likely to change dramatically. Please drop by our Slack channel to discuss!
- Python 3.6+
- Django 3.1+
- Channels 3.0+ (Optional for Turbo Stream support)
This repository aims to help you integrate Hotwire Turbo with Django. Inspiration taken from @hotwired/turbo-rails. Documentation can be found here for the current integration.
Discussions about a Django/Hotwire integration are happening on the Hotwire forum. And on Slack, which you can join by clicking here!
As we discover this new magic, you can expect to see a few repositories with experiments and demos appear in @hotwire-django. If you too are experimenting, we encourage you to ask a write access to the GitHub organization and to publish your work in a @hotwire-django repository.
We expect to gain knowledge and experience with Hotwire over time and will try to extract useful code from the demos and package it in self contained "pip-installable" packages: turbo-django and stimulus-django.
The turbo
directory contains the package with helpers, templatetags and utilities for integrating Turbo tightly into Django. Currently, it contains a Broadcastable
mixin and a Django Channels websocket consumer to allow for realtime updates with Turbo Streams.
Turbo-Django is released under the MIT License to keep compatibility with the Hotwire project.
If you submit a pull request. Remember to add yourself to CONTRIBUTORS.md
!