Newforms Demo Page

The contents of the form below are generated dynamically from a newforms Form, with each Field's Widget creating DOM Elements to represent the field. The exact same form code could be used to generate HTML on the server side.

Other client side features haven't been implemented yet, but you can muck about with server-side style validation, using a data object which represents POST data, creating a new Form/FormSet for each validation and refreshing display of the form.