This package provides an implementation for HTML forms and widgets. The goal
is to provide a simple API but with the ability to easily customize any data or
steps. This document, provides the content of this package's documentation
files. The documents are ordered in the way they should be read:
form.txt [must read]
Describes the setup and usage of forms in the most common usages. Some
details are provided to the structure of form components.
group.txt [must read]
This document describes how widget groups are implemented within this
package and how they can be used.
subform.txt [must read]
Introduces the complexities surrounding sub-forms and details two classes of
sub-forms, including code examples.
field.txt [must read]
Provides a comprehensive explanation of the field manager API and how it is
to be used.
button.txt [must read]
Provides a comprehensive explanation of the button manager API. It also
outlines how to create buttons within schemas and how buttons are converted
zcml.txt [must read]
Explains the ZCML directives defines by this package, which are designed to
make it easier to register new templates without writing Python code.
validator.txt [advanced users]
Validators are used to validate converted form data. This document provides
a comprehensive overview of the API and how to use it effectively.
widget.txt [advanced users]
Explains in detail the design goals surrounding widgets and widget managers
and how they were realized with the implemented API.
contentprovider.txt [advanced users]
Explains how to mix content providers in forms to render more html around
action.txt [advanced users]
Explains in detail the design goals surrounding action managers and
actions. The execution of actions using action handlers is also covered. The
document demonstrates how actions can be created without the use of buttons.
The concept of attribute value adapters is introduced and fully
explained. Some motivation for this new and powerful pattern is given as
Data managers are resposnsible for accessing and writing the data. While
attribute access is the most common case, data managers can also manage
other data structures, such as dictionaries.
Data converters convert data between internal and widget values and vice
Terms are wrappers around sources and vocabularies to provide a common
interface for choices in this package.
The util module provides several helper functions and classes. The
components not tested otherwise are explained in this file.
This module provides a base class for add forms that work with the
The testing module provides helper functions that make it easier to tet
form-based code in unit tests. It also provides components that simplify
testing in testbrowser and Selenium.
Explains the current problems of ObjectWidget.