skip to navigation
skip to content

wadofstuff-django-forms 1.1.0

Extended Django forms.

Wad of Stuff Django Forms

A set of utility functions and classes to extend the functionality of Django


Django 1.0 or newer.


wadofstuff.django.forms.security_hash(request, form, exclude=None, *args)

Calculates a security hash for the given Form/FormSet instance.

This creates a list of the form field names/values in a deterministic
order, pickles the result with the SECRET_KEY setting, then takes an md5
hash of that.

Allows a list of form fields to be excluded from the hash calculation. This
is useful form fields that may have their values set programmatically.



A subclass of Django's FormWizard that adds the following functionality:

- Renders `previous_fields` as a list of bound form fields in the template
context rather than as raw html.
- Can handle FormSets.

The usage of this class is identical to that documented at with
the exception that when rendering `previous_fields` you should change your
wizard step templates from:

<input type="hidden" name="{{ step_field }}" value="{{ step0 }}"/>
{{ previous_fields|safe }}


<input type="hidden" name="{{ step_field }}" value="{{ step0 }}"/>
{% for f in previous_fields %}{{ f.as_hidden }}{% endfor %}


A subclass of Django's BaseInlineFormSet that requires at least one form in
the formset to be completed.

Use this class as the `formset` argument to `inlineformset_factory`.

When the formset is validated and it does not contain one or more entries, then
a `ValidationError` is raised which gets put into `formset.non_form_errors`. You
will need to check this in your templates if you wish to display the error
message to your users.

What's new

Version 1.1.0:

- Added RequireOneFormSet inline formset class.
- Modified to allow classes and functions to be imported from wadofstuff.django.forms.

Version 1.0.0:

- First public release.