Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fieldset Rendering For Non-Admin Forms
Python
Branch: master
Pull request Compare This branch is 68 commits ahead, 3 commits behind OddBloke:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
example
formfieldset
.gitignore
LICENSE.txt
MANIFEST.in
README.rst
setup.py

README.rst

django-formfieldset is a simple Django app that provides a mix-in class for admin-like fieldset rendering.

Features

  • Fieldset functionality similar to ModelAdmin
  • Shorthand rendering functions with fieldsets both for whole forms and for individual fieldsets
    • render as P
    • render as TABLE
    • render as UL
  • Template strings are class attributes
  • Overrides nothing in django.forms.Form

Installation

  1. Add "django-formfieldset" directory to your Python path.
  2. Add "formfieldset" to your INSTALLED_APPS tuple found in your settings file. (optional - to be able to run tests)

Testing & Example

There is an example project in the example/ directory. To run automated tests for django-formfieldset run the following command in example/ directory:

python example/manage.py test formfieldset

To run the example project:

python example/manage.py runserver

Then you can visit http://localhost:8000/ to view the example. Example project also serves as detailed documentation for formfieldset.

Code examples will be highlighted if you have pygments installed.

Usage

  1. Create your form with FieldsetMixin.
  2. Add a fieldsets attribute to your form. See admin docs for detailed explanation.
  3. Render your form with fieldset enabled methods:
    • You can use iter_fieldsets() for custom form rendering. It will yield Fieldset objects. Fieldsets act as iterators for widgets in them.
    • You can use as_fieldset_table(), as_fieldset_ul() and as_fieldset_p() methods that act like built-in as_* method except fieldset support.

Tutorials & How-to's

See Also

Something went wrong with that request. Please try again.