Configuration¶
All of Conjure's settings live under one key, CONJURE, in your Django settings.py.
Every key is optional; the defaults are sensible for an internal admin.
CONJURE = {
"AUTH": "session",
"BRAND": {"name": "Acme Admin", "accent": "#4f46e5"},
"PAGE_SIZE": 50,
"AUDIT": True,
# "USER_PAYLOAD": "myapp.hooks.payload", # for custom user models
}
Settings reference¶
Auto-generated below
The table below is generated from the package by
gen/gen_config_reference.py and
written to _generated_config.md. When conjure/conf.py exists it's parsed directly;
until then the generator mirrors the table in PACKAGE_GUIDE. Don't edit the table
by hand — edit the source and re-run the generator.
| Key | Default | Description |
|---|---|---|
AUTH |
"session" |
Authentication mode: "session" (reuse Django login, works everywhere) or "jwt" (staff-only SimpleJWT for a separately-hosted SPA). |
BRAND.name |
"Conjure" |
Title shown in the dashboard header and on the login screen. |
BRAND.accent |
"#4f46e5" |
Brand / primary-action color. Hex or R G B channels; hover is derived. |
USER_PAYLOAD |
None |
Dotted path to a callable that shapes the login response user info. Set this for custom user models. |
PAGE_SIZE |
50 |
Default page size for list endpoints (server-side pagination). |
MAX_PAGE_SIZE |
200 |
Upper bound a client may request via ?page_size=. |
AUDIT |
True |
Toggle the audit log (diff of every write to AdminAuditLog). |
AUTODISCOVER |
True |
Auto-import every installed app's admin_config module on ready() (like admin.autodiscover). |
LOGGER_NAME |
"conjure" |
Name of the logging logger used for non-fatal internal errors (e.g. audit write failures). |
Source
Parsed from packages/conjure/conjure/conf.py on 2026-06-16.
Authentication modes¶
Reuses your Django session login. No tokens to issue or store. Best when the admin is served from the same domain as your Django app.
Staff-only SimpleJWT access/refresh tokens, for a separately-hosted SPA. The dashboard
logs in at POST /conjure/auth/login/ and refreshes on 401. See the
REST API reference.
Custom user models¶
If your AUTH_USER_MODEL isn't the default, point USER_PAYLOAD at a callable to shape the
"who am I" response after login:
def payload(user):
return {
"id": user.pk,
"username": user.get_username(),
"name": user.get_full_name(),
"is_superuser": user.is_superuser,
}
The default uses get_username() and get_full_name(), so most projects don't need this.
The audit log's actor is keyed off AUTH_USER_MODEL, so custom user models work without
configuration.
Frontend env (codegen mode)¶
Theme colors for the React app are env vars (no code change). See Theming for the full list — and the quote-your-hex warning.
| Variable | Purpose |
|---|---|
VITE_PROXY_TARGET |
Dev backend origin for the API proxy. |
VITE_API_BASE_URL |
API origin for a separately-hosted SPA build. |
VITE_COLOR_ACCENT |
Brand / primary action color (the one you usually set). |
VITE_COLOR_SIDEBAR |
Dark sidebar background. |
VITE_COLOR_* |
SUCCESS / WARNING / DANGER / INFO / GAIN / LOSS. |