djust docs
Browse documentation
beginner

What do you want to do?

Find the documentation page for the thing you are actually trying to do.

On this page

Browse by topic

Open a topic to find its guides and worked tutorials, or use the task index below.

Input & forms 10 guides Validation, uploads, editors, and multi-step flows.
Components & interaction 13 guides Build interfaces, communicate state, and connect browser libraries.
Navigation & layouts 8 guides Shared layouts, page transitions, and persistent views.
State & large lists 7 guides Manage state and keep large data sets responsive.
Real-time & streaming 11 guides Live updates, presence, audio, and streamed AI responses.
Backend & APIs 8 guides Server actions, service integrations, and HTTP endpoints.
Auth & multi-tenancy 7 guides Authentication, authorization, and tenant isolation.
Deploy & upgrade 10 guides Ship your app, support offline use, and keep it current.
Development & debugging 15 guides Project setup, diagnostics, testing, and development tools.
More learning resources 3 guides Tutorial overviews, template syntax, and styling integrations.

Find your task, get the page. Each link goes to the one canonical page for that task — this page is an index, not a second copy of anything.

If your task isn't here, try look up or search.

Get data onto the page

I want to…Go to
Show data from the databaseCore concepts
Bind a form field to a model fieldModel binding
Compute a value from other stateState primitives
Set the page title or meta tagsDocument metadata

Handle input and forms

I want to…Go to
Handle a form submissionForms
Validate input as the user typesForms
Debounce or throttle an inputDecorators
Build a multi-step wizardWizards
Offer autocomplete / typeaheadServer functions

React to events

I want to…Go to
Know which event handlers existEvents
Call a method on clickEvents
Run something on a timerServer push: periodic tick
Trigger behaviour from the browserJS commands

Show state to the user

I want to…Go to
Show a spinner while work runsLoading states
Show a success or error messageFlash messages
Show a form error inlineForms
Animate a page transitionView transitions

Lists, tables, and large data

I want to…Go to
Render a sortable, filterable tableComponents
Render thousands of rows without freezingLarge lists
Only render what is on screenVirtual lists
Add, remove, or update one rowLarge lists

Real-time and multiple users

I want to…Go to
Show who else is on the pagePresence
Push an update from a background jobServer push
React to a database changeDatabase notifications
Keep the page alive across a dropped connectionReconnection
Stream tokens from an LLMStreaming

Files

I want to…Go to
Upload a file with a progress barUploads
Upload straight to S3 or GCSUploads
Let users paste an imagedj-paste
I want to…Go to
Move between pages without a full reloadNavigation
Share a layout between viewsLayouts
Prefetch the next pagePrefetch

Auth and permissions

I want to…Go to
Require login for a viewAuthorization
Check a permissionAuthorization
Isolate tenantsMulti-tenant

Background work

I want to…Go to
Run slow work without blocking the pageLoading states
Call an external APIServer functions
Run something on a scheduleServer push

Ship it

I want to…Go to
Deploy to djustliveDeploy to djustlive
Deploy to my own serversDeployment
Test my viewsTesting
Lock down securitySecurity
Read the upgrade pathAPI stability

When something is wrong

I want to…Go to
Find why a click does nothingEvents
Avoid the usual mistakesCommon mistakes
See the WebSocket trafficDebug panel
Read the system-check referenceError codes
Step backwards through stateTime-travel debugging
Report a bug with a traceBug capture

Everything else