Description
Code of Conduct
- I agree to follow Django's Code of Conduct
Feature Description
Officially supported, server-driven UI framework - similar to Laravel Livewire, Phoenix LiveView, or Rails Hotwire - that allows developers to build dynamic frontends using Django templates and Python, without relying heavily on JavaScript. This would modernize the development experience while staying true to Django's philosophy of simplicity, integration and batteries-included framework.
Problem
Modern web applications often require dynamic, real-time interfaces, but achieving this in Django typically demands a mix of JavaScript frameworks (like React or Vue), REST/GraphQL APIs, and frontend tooling. This introduces complexity, duplication of logic, and a steeper learning curve—especially for solo developers or small teams.
An officially supported server-driven UI framework would:
-
Reduce complexity by letting developers build reactive interfaces directly with Django templates and Python.
-
Eliminate boilerplate needed for syncing state between frontend and backend.
-
Improve developer experience by avoiding context-switching between Python and JavaScript.
-
Encourage consistency across Django projects, promoting best practices and easier onboarding.
In short, it would allow Django developers to build modern, interactive apps without leaving the comfort of the Django stack.
Request or proposal
request
Additional Details
We now can use HTMX+Alpine.js, or even parts of Hotwire and adapted Inertia.js. But having something officially supported, developed, and baked into Django would provide a unified and opinionated way to build reactive interfaces—removing guesswork and fragmentation across projects. It would also ensure better long-term stability, tighter integration with Django’s ORM, forms, and routing, and create a more consistent developer experience. Just as Django REST Framework became the go-to solution for APIs, a built-in reactive UI layer could become the standard for modern Django frontends.
Implementation Suggestions
A great starting point for this feature would be adopting or drawing inspiration from Django Unicorn or more "javascripty" such as data-star or htmx
Metadata
Metadata
Assignees
Type
Projects
Status