Quick Start
Install djust and build your first LiveView
Core Concepts
LiveView lifecycle, events, and the VDOM
Components
40+ production-ready UI components
API Reference
Full decorator, class, and method reference
Tutorials
Step-by-step guides — auth, uploads, streaming, AI, and more
Theming
Design tokens, Tailwind, and runtime theme switching
What is djust?
djust brings Phoenix LiveView-style reactive server-side rendering to Django. Build rich, interactive web applications without writing complex JavaScript, while maintaining the security and simplicity of server-side rendering.
Key Features
- No JavaScript Required - Build interactive UIs with Python/Django
- Real-time Updates - Changes pushed to clients via WebSocket
- Rust-Powered - 10-100x faster rendering with Rust VDOM engine
- Zero Build Step - ~29KB gzipped client JavaScript, no bundling needed
- 40+ Components - Ready-to-use UI component library
Quick Example
from djust import LiveView, event_handler
class CounterView(LiveView):
template_name = 'counter.html'
def mount(self, request, **kwargs):
self.count = 0
@event_handler
def increment(self):
self.count += 1
@event_handler
def decrement(self):
self.count -= 1
<div dj-liveview>
<h1>Count: {{ count }}</h1>
<button dj-click="decrement">-</button>
<button dj-click="increment">+</button>
</div>
Getting Help
- GitHub Issues - Report bugs and request features
- GitHub Discussions - Ask questions and share ideas