Skip to content

Officially Supported Server-Driven Frontend Framework #26

Open
@danielnieto

Description

@danielnieto

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

No one assigned

    Type

    No type

    Projects

    Status

    Idea

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions