Forms¶
Status: Placeholder — to be developed. Last reviewed: —
Scope¶
Django form / ModelForm conventions: Crispy Forms vs manual rendering (skeleton uses manual — document why), where validation lives (form clean_* vs model clean vs service), SearchSelect widget usage on form fields, file-upload form patterns, multi-step / multi-fieldset forms, how forms wire into views.
This complements guidelines/ui/forms.md (which covers visual layout); this file covers Python-side form construction.
Sources to mine when writing this¶
apps/*/forms.pyacross the project — survey the patterns in use.templates/skeletons/skeleton_form.html— the rendering convention forms must support.apps/core/widgets.py—SearchSelectwidget contract.- The "more contextual forms" rework (holder forms) — a reference for conditional fieldsets / dynamic field visibility.