Skip to main content

Providing alternate form wizards for the Django project.

Project description

Django Merlin

What’s this for

The Django FormWizard was not exactly what we were looking for so we decided to scratch our own itch and create a project that would host different types of form wizards for use with Django. Currently we have a SessionWizard, which is a form wizard that is backed by the Django session object. This wizard provides the ability to use the SessionWizard as a callable in the URLConf but still provide thread safety.

Besides the storage of SessionWizard state being in session, it uses an HTTP GET to render a form and a POST to process a form. This differs from the Django FormWizard which uses POST for everything. One benefit of this is the ability to got to previous steps in the wizard.

Documentation and examples can be found at:


You need Django for this to work, if you need help with that head here

Using Pip:

pip install django-merlin


This was mostly inspired by the Django form wizard and the SessionWizard snippet located here



Release date: 28-Nov-2011

  • Merged a Pull Request to make sure the slug matching in the url matches the highest index.


Release date: 25-Nov-2010

  • Merged a Pull Request to allow the SessionWizard to support Steps that use a ModelForm instead of just a Form

  • Added the ability to cancel a wizard!


Release date: 30-Nov-2010

  • Fixed the bug where existing form data was not getting populated on a GET request.

  • Updated the process of process_POST to not automatically call self.clear(). The developer of the wizard now should call self.clear() right before a successful return from self.done(). If the wizard needs to redirect to a step in the process because of post processing error then the SessionWizard will not remove the data form session now.


Release date: 30-Nov-2010

  • Changed the way the id of the SessionWizard is generated to address problem of lose of data in a multi-threaded/multi-process Django environment


Release date: 3-Nov-2010

  • Added the initialize hook to the SessionWizard to allow per request initialization.


Release date: 24-Aug-2010

  • Initial project creation finished.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-merlin-0.6.tar.gz (12.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page