Rustango docs
← Rustango 0.46

Guides

Models

A model is a Rust struct that maps to a database table. Add #[derive(Model)], annotate the fields, and Rustango generates the schema, a type-safe query…

ORM cookbook

Patterns for the Rustango ORM beyond the basics. If you come from Django's ORM, Laravel Eloquent, or Rails ActiveRecord, the shapes here will feel…

The admin

Rustango generates a complete admin UI from your models — the same idea as Django's admin or a Laravel Nova/Filament panel, but with zero per-model…

Serializers

A serializer turns a model instance into a typed, JSON-ready shape — and back again on the way in. It's Rustango's answer to a Django REST Framework…

ViewSets — CRUD REST APIs

A ViewSet turns a model into a full REST resource — endpoints to list, create, read, update and delete records — from one declaration. (It's Rustango's…

HTML views — server-rendered pages

An HTML view turns a model into server-rendered web pages — a list page, a detail page, and create/edit/delete forms — from one declaration. It's the…

OpenAPI

Rustango generates an OpenAPI 3.1 spec for your API and serves it with Swagger UI / Redoc — no annotations to hand-maintain. Point the generator at the…

The QUERY method

QUERY (RFC 10008, a Proposed Standard published in June 2026) is the "safe GET with a body." It's safe and idempotent like GET, but the query criteria…

MCP server

The Model Context Protocol (MCP) is the open standard for letting an AI agent — Claude, an IDE assistant, your own LLM app — securely call your…

URL names & reverse

Hardcoding URLs (/posts/42) all over handlers and templates is fragile — change a route and every literal breaks silently. Rustango gives you Django's…

manage CLI reference

This is Rustango's command-line tool, like Django's manage.py, Laravel's artisan, or Rails' rails command. In a project scaffolded via cargo rustango new…

Middleware

Middleware is code that runs around every request — before your handler sees it and after it produces a response. It's where cross-cutting concerns live…

Background jobs

Some work shouldn't happen during a request — sending a welcome email, resizing an upload, syncing a third-party API. Doing it inline makes the user wait…

WebSockets & SSE

Most requests are one-shot: ask, answer, done. Real-time features are the exception — a live notification, a progress bar, a dashboard that updates…

Caching

Caching stores the result of expensive work — a heavy query, a rendered fragment, a third-party API call — so the next request gets it instantly instead…

Files, uploads & media

Almost every app stores user files — avatars, attachments, exported reports, images. Rustango gives you a Storage trait with swappable backends (local…

Internationalization (i18n)

Internationalization is serving your app in the user's language. Rustango splits it into two halves: resolving which locale a request wants (cookie →…

Sending email

Welcome messages, password resets, receipts, alerts — most apps send transactional email. Rustango gives you a Mailer trait with swappable backends…

Testing

Fast, reliable tests need to drive your app the way a client does — without booting a server or touching the network. Rustango's TestClient runs your…

Security guide

This guide covers every security feature Rustango ships and how to combine them. If you come from Django, Laravel, or Rails, most of these will feel…