Reactive by default
LiveViews keep state on the server and patch the page over one WebSocket. No npm, no build step.
Build real-time apps with the djust framework — Django templates, server-side state, no JavaScript build — and ship them to a live HTTPS URL with djust deploy.
djust deploy my-appCreating tarball from /home/you/my-app...Tarball created: 48213 bytesUploading to https://djustlive.com...Deployment triggered: 3f2a9c1e-…Status: buildingStatus: activeApplication available at: https://my-app.djustlive.app
djust brings Phoenix-LiveView-style reactivity to Django. You write Python; the browser gets real-time updates.
LiveViews keep state on the server and patch the page over one WebSocket. No npm, no build step.
Your view is the backend and the frontend. One codebase, one deploy, one stack trace.
Models, auth, admin and migrations work exactly as they always have.
from djust import LiveView
from djust.decorators import event_handler
class Counter(LiveView):
template_name = "counter.html"
def mount(self, request, **kwargs):
self.count = 0
@event_handler()
def increment(self, **kwargs):
self.count += 1
<div dj-root dj-view="app.views.Counter">
<p>{{ count }}</p>
<button dj-click="increment">+1</button>
</div>
djust-start is a Django project with djust wired in.
djust deploy login opens your browser once and stores a token.
djust deploy uploads your project directory, builds it and prints your URL.
Custom domains and more apps on a paid plan.
git clone https://github.com/djust-org/djust-start my-app
cd my-app
make install
.venv/bin/djust deploy login
.venv/bin/djust deploy my-appdjustlive.appEvery app is isolated, encrypted in transit and backed up — see how →
Every app runs in its own Firecracker microVM.
Certificates are issued and renewed for you.
Platform storage is backed up offsite every hour.
Start on the free plan. Upgrade when you need custom domains or more apps.