Skip to main content

Django Content Studio

A modern alternative to the classic Django admin, with batteries included. Register your models and manage them in a modern admin, with the permission hooks and conventions you already know.

# blog/admin.py
from content_studio import register
from content_studio.admin import ModelStudio

from .models import Article


@register(Article)
class ArticleStudio(ModelStudio):
table_display = ["title", "status", "published_at"]
list_filter = ["status"]
search_fields = ["title"]

What you get

Your models, as they are

Register a plain Django model, as in the classic Django admin, and it is manageable. Nothing to migrate to, no content model to adopt.

A complete admin

List pages with search, filters and sorting, and edit pages with validation, inlines and audit stamps, configured in Python.

Dedicated widgets

Dates, rich text, tags, media and structured JSON each get their own widget, and edit pages are laid out with form sets.

Familiar permissions

The permission hooks of the classic Django admin, down to single objects, with multi-tenancy and limited login attempts.

A dashboard you compose

Statistics, content lists, recent activity and scheduled tasks, declared in Python, plus links and pages of your own in the menu.

Batteries included

Optional fields for rich text, tags, structured JSON, URL paths and media, and base models such as ContentModel and SingletonModel.