Core features and user experience of django-formset
releases/2.2The django-formset library is designed to improve the Django form user experience while maintaining an interface as close to standard Django forms, models, and views as possible.
Key features include:
- Pre-validation: Browser-side validation occurs before submission using the same constraints declared in your Python Django forms or models.
- Ajax Submission: Forms are submitted via Ajax to prevent full page reloads.
- Error Rendering: Server-side validation errors are returned to the browser and rendered next to the specific rejected field. Non-field errors are rendered with the form.
- CSS Framework Support: Includes built-in renderers for:
- Bootstrap 5
- Bulma
- Foundation 6
- Tailwind (provides an opinionated set of CSS classes)
- UIKit
- Zero Dependencies: The client-side is written in pure TypeScript and compiles to a single, portable JS file with no external JavaScript dependencies required.
- Advanced Widgets: Supports standard Django widgets, plus specialized ones for:
- File uploads (handled asynchronously)
- Searchable select boxes (server-side filtering)
- Inlined radio buttons and checkboxes
- Date/Datetime ranges
- Phone numbers with country flags
- Richtext editing