Native form

A plain Django form — no widget attrs, no crispy

This page renders {{ form }} — nothing else. The Bootstrap 5 markup (labels, selects, checkbox, validation states, help text) comes entirely from FORM_RENDERER = "django_adminlte4.forms.AdminLTEFormRenderer" in settings. Submit it empty to see the is-invalid / invalid-feedback states.

Get product updates by email.
How it works

The renderer swaps Django's form/field templates for AdminLTE-themed ones, project-wide:

# settings.py
FORM_RENDERER = "django_adminlte4.forms.AdminLTEFormRenderer"

Every {{ form }} in the project — function-based views, generic CBVs, UserCreationForm — renders themed automatically. Prefer fine-grained layout control? The Contacts CRUD shows the crispy-forms integration instead; both ship with the package.