An extension to the official Django form wizard supporting multiple forms on a wizard step.
Project description
An extension to the official Django form wizard supporting multiple forms on a wizard step.
Documentation
The full documentation is at https://django-multipleformwizard.readthedocs.org.
Quickstart
Install django-multipleformwizard:
pip install django-multipleformwizard
Then use it in a project:
# Every *WizardView that can be imported is an equivalent of a builtin *WizardView in Django from multipleformwizard import (SessionMultipleFormWizardView, CookieMultipleFormWizardView, NamedUrlSessionMultipleFormWizardView, NamedUrlCookieMultipleFormWizardView, MultipleFormWizardView, NamedUrlMultipleFormWizardView)
Example use
from __future__ import unicode_literals
from django import forms
from django.shortcuts import render_to_response
from multipleformwizard import SessionMultipleFormWizardView
from .forms import Form1, Form2, Form3
class Wizard(SessionMultipleFormWizardView):
form_list = [
("start", Form1),
("user_info", (
('account', Form2),
('address', Form3)
)
]
templates = {
"start": 'demo/wizard-start.html',
"user_info": 'demo/wizard-user_info.html'
}
def get_template_names(self):
return [self.templates[self.steps.current]]
def done(self, form_dict, **kwargs):
result = {}
for key in form_dict:
form_collection = form_dict[key]
if isinstance(form_collection, forms.Form):
result[key] = form_collection.cleaned_data
elif isinstance(form_collection, dict):
result[key] = {}
for subkey in form_collection:
result[key][subkey] = form_collection[subkey].cleaned_data
return render_to_response('demo/wizard-end.html', {
'form_data': result,
})
History
0.2.16 (2015-04-28)
Bugfix.
0.2.15 (2015-04-24)
Bugfix.
0.2.14 (2015-04-23)
Added Django Formtools as a dependency, to be compatible with Django >= 1.8.
0.2.13 (2015-03-24)
Bugfix.
0.2.12 (2015-03-17)
Bugfix.
0.2.11 (2015-03-17)
Bugfixes and refactored lazy form list initialization.
0.2.10 (2015-03-16)
Bugfix.
0.2.9 (2015-03-16)
Extended interface with possibility to load form_list lazily.
0.2.8 (2015-03-09)
Bugfix.
0.2.7 (2015-03-05)
Extended interface with optional setting to expose cleaned_data of previous to the context of the current step.
0.2.6 (2015-03-05)
Bugfix.
0.2.5 (2015-03-05)
Extended interface with convenience method: get_all_cleaned_data_dict().
0.2.4 (2015-03-05)
Bugfixes.
0.2.3 (2015-03-04)
Updated meta info.
0.2.2 (2015-03-03)
Updated documentation.
0.2.1 (2015-03-03)
Updated documentation.
0.2.0 (2015-03-03)
Included documentation.
0.1.9 (2015-03-03)
Various bugfixes.
0.1.7 (2015-03-02)
First stable release on PyPI.