---
title: "What do you want to do?"
description: "Find the documentation page for the thing you are actually trying to do."
level: beginner
order: 1
---

# What do you want to do?

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](/api-reference/liveview/) or search.

## Get data onto the page

| I want to… | Go to |
|---|---|
| Show data from the database | [Core concepts](/getting-started/core-concepts/) |
| Bind a form field to a model field | [Model binding](/guides/model-binding/) |
| Compute a value from other state | [State primitives](/guides/state-primitives/) |
| Set the page title or meta tags | [Document metadata](/guides/document-metadata/) |

## Handle input and forms

| I want to… | Go to |
|---|---|
| Handle a form submission | [Forms](/guides/forms/) |
| Validate input as the user types | [Forms](/guides/forms/) |
| Debounce or throttle an input | [Decorators](/api-reference/decorators/) |
| Build a multi-step wizard | [Wizards](/guides/wizards/) |
| Offer autocomplete / typeahead | [Server functions](/guides/server-functions/) |

## React to events

| I want to… | Go to |
|---|---|
| Know which event handlers exist | [Events](/core-concepts/events/) |
| Call a method on click | [Events](/core-concepts/events/) |
| Run something on a timer | [Server push: periodic tick](/advanced/server-push/) |
| Trigger behaviour from the browser | [JS commands](/guides/js-commands/) |

## Show state to the user

| I want to… | Go to |
|---|---|
| Show a spinner while work runs | [Loading states](/guides/loading-states/) |
| Show a success or error message | [Flash messages](/guides/flash-messages/) |
| Show a form error inline | [Forms](/guides/forms/) |
| Animate a page transition | [View transitions](/guides/view-transitions/) |

## Lists, tables, and large data

| I want to… | Go to |
|---|---|
| Render a sortable, filterable table | [Components](/guides/components/) |
| Render thousands of rows without freezing | [Large lists](/guides/large-lists/) |
| Only render what is on screen | [Virtual lists](/guides/virtual-lists/) |
| Add, remove, or update one row | [Large lists](/guides/large-lists/) |

## Real-time and multiple users

| I want to… | Go to |
|---|---|
| Show who else is on the page | [Presence](/guides/presence/) |
| Push an update from a background job | [Server push](/advanced/server-push/) |
| React to a database change | [Database notifications](/guides/database-notifications/) |
| Keep the page alive across a dropped connection | [Reconnection](/guides/reconnection/) |
| Stream tokens from an LLM | [Streaming](/guides/streaming/) |

## Files

| I want to… | Go to |
|---|---|
| Upload a file with a progress bar | [Uploads](/guides/uploads/) |
| Upload straight to S3 or GCS | [Uploads](/guides/uploads/) |
| Let users paste an image | [dj-paste](/guides/dj-paste/) |

## Navigation

| I want to… | Go to |
|---|---|
| Move between pages without a full reload | [Navigation](/guides/navigation/) |
| Share a layout between views | [Layouts](/guides/layouts/) |
| Prefetch the next page | [Prefetch](/guides/prefetch/) |

## Auth and permissions

| I want to… | Go to |
|---|---|
| Require login for a view | [Authorization](/guides/authorization/) |
| Check a permission | [Authorization](/guides/authorization/) |
| Isolate tenants | [Multi-tenant](/guides/multi-tenant/) |

## Background work

| I want to… | Go to |
|---|---|
| Run slow work without blocking the page | [Loading states](/guides/loading-states/) |
| Call an external API | [Server functions](/guides/server-functions/) |
| Run something on a schedule | [Server push](/advanced/server-push/) |

## Ship it

| I want to… | Go to |
|---|---|
| Deploy to djustlive | [Deploy to djustlive](/guides/deploy-to-djustlive/) |
| Deploy to my own servers | [Deployment](/guides/deployment/) |
| Test my views | [Testing](/guides/testing/) |
| Lock down security | [Security](/advanced/security/) |
| Read the upgrade path | [API stability](/guides/api-stability/) |

## When something is wrong

| I want to… | Go to |
|---|---|
| Find why a click does nothing | [Events](/core-concepts/events/) |
| Avoid the usual mistakes | [Common mistakes](/guides/common-mistakes/) |
| See the WebSocket traffic | [Debug panel](/advanced/debug-panel/) |
| Read the system-check reference | [Error codes](/guides/error-codes/) |
| Step backwards through state | [Time-travel debugging](/guides/time-travel-debugging/) |
| Report a bug with a trace | [Bug capture](/guides/bug-capture/) |

## Everything else

- **Every `dj-` directive:** [Template cheat sheet](/guides/template-cheatsheet/)
- **Every decorator and method:** [API reference](/api-reference/liveview/)
