Skip to content

✦ Conjure

Conjure your admin.

Conjure reads your Django models' metadata and summons an admin — a generic CRUD REST API plus a modern React dashboard. Attach it to any project in two lines; it touches your existing apps only to read them.

Get started in 5 minutes Why Conjure

The 30-second version

Add the app, point a URL at it, and describe a model the way you would in admin.py. That's the whole ceremony.

settings.py
INSTALLED_APPS += ["conjure"]
myapp/admin_config.py — discovered automatically, like admin.py
from conjure import register, AdminConfig
from myapp.models import Product


@register(Product)  # (1)!
class ProductConfig(AdminConfig):
    list_display = ["name", "price", "is_active"]
    search_fields = ["name"]
  1. admin_config.py files are auto-discovered on app ready(), exactly the way Django finds your admin.py. No central registry to edit.

Product now has a list / search / filter / CRUD screen. In codegen mode you generate plain React you own and edit per page (today's stable path). A runtime mode that lets a registered model appear in the sidebar with zero frontend code is on the roadmap — the runtime renderer covers list views today, with create/edit as a documented stub.

Two modes, one schema

Both modes read the same introspection schema. Generate codegen pages today, and when the runtime renderer lands you'll be able to start there and eject any page to codegen when you need it to be special. See Your first screen.

Why Conjure

  • Two-line install

    contrib.auth is the only hard dependency. Conjure reads your models; it does not fork your project or ask you to re-declare them.

  • You own the output

    Codegen emits ordinary React you can edit page by page — or run the runtime renderer and write zero frontend. Your call, per screen.

  • Permissions you already have

    Django Group / Permission / is_staff, shared with Django admin and managed in one place. No second permission system to keep in sync.

  • Extend without forking

    Field renderers, dashboard widgets, and actions register through public hooks — register_field, register_widget, ADMIN_ACTIONS.

How it compares

django-unfold / jazzmin react-admin / Refine Conjure
Form Django admin theme runtime JS config codegen (runtime planned)
Code ownership ✅ you own the output
Install-and-go △ (runtime mode planned)
Per-page customization limited
Permissions Django perms separate Django perms (shared)

Conjure sits between "themed Django admin" and "build-your-own JS admin": code-ownership like the latter today, install-and-go (runtime mode) once it lands, on the permissions you already trust.

Where to next


Conjure is by Terrace Lab. PyPI: django-conjure · React dashboard: build from the monorepo source (packages/web); an npm release is planned · MIT licensed.