This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Extended Django forms.

Project Description
Wad of Stuff Django Forms
=========================

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

Requirements
============

Django 1.0 or newer.

Functions
=========

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.

Classes
=======

wadofstuff.django.forms.BoundFormWizard
---------------------------------------

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
http://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard/ 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 }}

to:

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

wadofstuff.django.forms.RequireOneFormSet
-----------------------------------------

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.
Release History

Release History

This version
History Node

1.1.0

History Node

1.0.0

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting