--- id: django-formtools version: "2.7" license: BSD license_treatment: permissive maintenance: active --- # django-formtools — A set of high-level abstractions for Django forms License: permissive · Maintenance: active · Downloads: 3.9M/mo ## What it is and what it does django-formtools is a standalone package that provides form abstractions originally built into Django's core. It specializes in handling multi-step (wizard) forms and form previews—common patterns in web applications where users fill out forms across multiple pages or need to review their input before submission. The package depends only on Django itself and is designed to integrate seamlessly into Django projects by providing view classes and utilities that manage form state across HTTP requests. The package is actively maintained by the Jazzband collective and supports modern Python versions (3.10 through 3.14) and recent Django releases (5.2 and 6.0). It has no known security vulnerabilities and carries a permissive BSD license, making it suitable for both open-source and commercial use. Use it for: - Build multi-page registration or checkout flows where users complete forms across several steps - Implement form preview pages that let users review their input before final submission - Handle complex questionnaires or surveys that need to be broken into manageable sections - Manage form state and validation across multiple HTTP requests in a Django application ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. django-formtools provides high-level form abstractions for Django, including multi-step form handling and form preview functionality that was previously part of Django's core. Yes. django-formtools is a stable, actively maintained package with no security issues, low install friction, and a permissive license. Install it if you need multi-step form handling or form preview functionality in a Django project—these are common patterns it handles well. The recent release and ongoing maintenance make it a reliable choice for modern Django applications. ## Install pip install django-formtools uv add django-formtools poetry add django-formtools ## Installing django-formtools Before you install: Low install friction with a single Django dependency. Active maintenance with a recent release 36 days ago and ongoing commits; the project is hosted on Jazzband and has 885 repository stars. License in practice: BSD license (permissive) means you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions. Quickstart: pip install django-formtools from django_formtools.views import SessionWizardView from django.forms import Form class MyWizard(SessionWizardView): template_name = 'wizard.html' form_list = [Form1, Form2, Form3] Requires Django 5.2 or 6.0 and Python 3.10 or later; must be added to Django's INSTALLED_APPS. Verify before relying: - Specific feature completeness compared to Django's current form handling capabilities - Performance characteristics for very large multi-step forms or high-concurrency scenarios ## Package facts - License: BSD (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 3.9M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags django multi-step forms, django form preview, django form wizard, django formtools, multi-page form handling django, django form state management, django-forms, multi-step-forms, form-wizard [View on SkillFed](https://skillfed.io/packages/django-formtools) · [View on PyPI](https://pypi.org/project/django-formtools/)