Components

Everything ships as a django-components component, registered under an adminlte_* name. Render any of them with the {% component "name" ... %}{% endcomponent %} tag. Pass keyword props; any extra kwargs pass through as HTML attributes on the root element.

Widgets

ComponentKey props
adminlte_cardtitle, icon, theme, outline, collapsible, collapsed, removable, maximizable, body_class — slots: footer, tools
adminlte_small_boxtitle, text, icon, theme, url, url_text
adminlte_info_boxtitle, text, icon, theme, icon_theme, progress, progress_text
adminlte_alerttheme, title, icon, dismissable
adminlte_callouttheme, title, icon
adminlte_progressvalue, theme, striped, animated, height, show_label
adminlte_progress_grouplabel, value, color, max, show_percentage
adminlte_timelineitems ([{icon, icon_bg, title, url, body, footer}])
adminlte_description_blocktitle, text, items (label→value)
adminlte_profile_cardname, title, image, socials, description
adminlte_ratingsvalue, max, color
adminlte_breadcrumbitems ([{label, url, active}])
adminlte_accordionitems ([{title, content, expanded?, id?}]), flush, always_open
adminlte_tabsitems ([{title, icon?, content, active?}]), variant, justified, fill
adminlte_toastid, title, theme, icon, autohide, delay
adminlte_direct_chatitems, title, theme, send_url

Forms

Labelled Bootstrap 5 controls with validation feedback. Bind a Django form field with field=form.x, or use them standalone with name/value/error.

ComponentKey props
adminlte_inputfield, name, label, type, value — slots: prepend, append
adminlte_textareafield, name, label, rows
adminlte_selectfield, name, label, multiple — default slot: <option> markup
adminlte_input_switchfield, name, label, checked, value
adminlte_input_colorfield, name, label, default
adminlte_input_filefield, name, label, multiple
adminlte_buttontype, theme, outline, size, icon, label

Tool components (plugin-backed)

These emit a data-* container with a JSON config; the shipped initializer lazily imports each library only when a matching element is on the page. See Charts & Plugins.

ComponentLibrary / key props
adminlte_chartApexCharts — type, series, categories, options, height
adminlte_datatableTabulator — columns, data or api_url, options
adminlte_vector_mapjsVectorMap — map, markers, regions, height
adminlte_editorQuill — field/name, placeholder, quill_options
adminlte_sortableSortableJS — options, group, tag
adminlte_modalBootstrap — id, title, size, theme, scrollable, centered — slots: default, footer

Usage snippets

{# A collapsible outline card with a footer slot #}
{% component "adminlte_card" title="Sales" icon="bi bi-graph-up" theme="primary" outline=True collapsible=True %}
    Monthly revenue summary…
    {% fill "footer" %}Updated 5 min ago{% endfill %}
{% endcomponent %}

{# Stat boxes #}
{% component "adminlte_small_box" title="150" text="New orders" theme="primary" icon="bi bi-bag" url="#" %}{% endcomponent %}
{% component "adminlte_info_box" title="41,410" text="Bookmarks" icon="bi bi-bookmark" theme="info" progress=70 progress_text="70% increase in 30 days" %}{% endcomponent %}
{# Bind a Django form field — value repopulation + validation feedback come for free #}
{% component "adminlte_input" field=form.email type="email" label="Email" %}{% endcomponent %}

{# Data-driven tabs #}
{% component "adminlte_tabs" items=tabs variant="pills" %}{% endcomponent %}

Props passed as Python objects (series, items, columns, progress=70) come from your view's context — build the list/dict in the view and reference the variable in the tag.


AdminLTE 4 · Django port Edit on GitHub