Build HTML forms quickly and easily. (Pre-release not ready for broad use, please use 0.3.x).
Build forms quickly and easily using groups of simple helper functions.
- Download and install from source
- Series of quick hacks to make a TableForm broadly compatible with the old 0.3.x branch so that authtkt works.
- Separates of Field for when you just want the fields, Form for an HTML form using labels and fieldsets and TableForm which generates slighlty unclean HTML but which actually works very well in real life
- Ability to choose XHTML or HTML and to use a custom builder for HTML generation
- Distinction between strings to escape and those to treat as HTML so that HTML can be embedded without risk of XSS attacks
- Can keep the order of custom attributes if a formbuild.OrderedDict is used for them
- Removal of formbuild.internal
Still more refactoring to do.
- Better support for nested record format
- Support for regular expressions in option definitions, useful for sharing options within repeated fieldsets
- Allow a list or tuple of escaped HTML string as argument to action_bar()
- Gave submit() default arguments, submit and Submit.
- Fixed bug with end_layout()
- Added optional side argument to field() so that labels can be put above fields when it is set to False
- Added a required_position argument to field() so that the required asterix can be put after the label when set to 'after'.
- Added for attributes to <label> fields generated by field()
- Support for BuildKit
- Fixed tests with legacy WebHelpers
FormBuild 3 is a complete from-the-ground-up re-write of FormBuild 2 with deliberately more limited scope but increased real-world usefuleness.
Major changes since previous version:
- Removal of the formbuild.helpers module
- Removal of dependency on WebHelpers
- Removal of all previously deprecated code
- Renaming the values, errors, state and options argument to Form to value, error, flow and option respectively
- Removal of ability to set values, or options at design time
- Introduction of a checked argument to Form to determine whether checkboxes are checked or not at form execution time, not based on values or at design time
- The id attribute is no longer automatically generated based on the name and the type attribute comes before name for <input> fields
- Added doctests for all fields
- Added full documentation
- Added helpers for combo() and dropdown()
- Refactored the options code for using a dropdown in a field
- Started updating the documentation
- Removed some old comments, moved deprecated code to the end
- Added the ability of select() to use the new options infrastructure.
- Updated the MANIFEST.in file to include tests and docs in the source distribution.
- Moved the formbuild.helpers doctest code into the main doc.py test.
- Made the use of the default argument raise an Exception instead of logging an error
- Added some documentation tests
- Changed checkbox_group() and radio_group() to take a sub_name argument for formatting fields according to a NestedRecord structure.
- The combo() and checkbox_group() fields can now take options from those passed to the Form object constructor.
- Added Sphinx code
- Made checkbox_group() and radio_group() XHTML compatible by using the attribute checked="checked".
- Allowed the checkbox() to also be able to get its value from the options argument passed to the Form constructor and determine whether not it is ticked from a True or False value in the values argument passed to the Form constructor.
- Used CSS for spacing of required asterix
- Added an options argument to Form instead of individual fields having options
- Added a stricter errors_to_dict() function that catches errors such as forgetting allow_extra_fields, filter_extra_fields.
- Added a values_to_dict() function for encoding values
- Added a .validation_state attribute and ValidationState class.
- The title() field and action bar now have a colspan of 3
- Added a title() field to the Form
- Added an imagebutton field
- Added field_pre and field_extra options to the field() method
- Updated the tests
- Added a style used for padding to the labels in checkbox groups.
- Changed _group() helper to automatically convert arguments to unicode.
- First pre-alpha version of the refactored FormBuild.
FormBuild - Build HTML forms quickly and easily Copyright (C) 2008-2010 <James Gardner>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.