← Back to docs dj-control-room-base / Design System

DCR Design System

STYLES

Components and tokens for building Django Control Room panels. Extend panel_base.html to inherit this design system in any panel.

Content Width

Centered, max-width wrappers for panel content. Wrap your dcr-page-header and body content in dcr-content with a size modifier. Most panels should use --lg.

full
xl · 1600px
lg · 1280px
md · 960px
sm · 640px

Usage

<!-- modifiers: sm (640px) · md (960px) · lg (1280px) · xl (1600px) · full -->
<div class="dcr-content dcr-content--lg">
  <div class="dcr-page-header">…</div>
  <!-- panel body -->
</div>

Section Header

Uppercase label used to head sub-sections on a panel page. Default variant extends a midline rule to full width. Add --plain to suppress the rule. Optionally place a badge inline.

Key Information

Stored Value

HASH

Overview

Recent Events

12

Usage

<!-- default: midline rule -->
<div class="dcr-section-header">
  <h2 class="dcr-section-header__title">Key Information</h2>
</div>

<!-- with inline badge -->
<div class="dcr-section-header">
  <h2 class="dcr-section-header__title">Stored Value</h2>
  <span class="dcr-badge dcr-badge--warning">HASH</span>
</div>

<!-- plain: no rule -->
<div class="dcr-section-header dcr-section-header--plain">
  <h2 class="dcr-section-header__title">Overview</h2>
</div>

Callout

Static informational panel with a left-border accent. For persistent guidance, not flash messages.

Default callout with no modifier.

Info

Use for contextual guidance and configuration notes.

Success

Operation completed without errors.

Warning

Check your configuration before proceeding.

Danger

This action cannot be undone.

Usage

<!-- modifiers: (none) · info · success · warning · danger -->
<div class="dcr-callout dcr-callout--info">
  <p class="dcr-callout__title">Info</p>
  <p class="dcr-callout__body">Contextual guidance here.</p>
</div>

Danger Zone

Visually isolated section for irreversible operations. Always pair with a confirmation mechanism.

Flush all cache keys

Permanently deletes every key in the selected cache backend. This cannot be undone.

Usage

<div class="dcr-danger-zone">
  <p class="dcr-danger-zone__title">Flush all cache keys</p>
  <p class="dcr-danger-zone__body">Permanently deletes every key…</p>
  <button class="dcr-btn dcr-btn--danger">Flush cache</button>
</div>

Code

Monospace display for keys, values, payloads, or any machine-readable content. Inline and block variants.

Cache key: sessions:abc123def456

{"status": "ok", "workers": 4, "queues": ["default", "high"]}

Usage


<code class="dcr-code">sessions:abc123</code>


<code class="dcr-code dcr-code--block">{"status": "ok"}</code>