iommi¶
Your first pick for a django power cord
iommi is a Django-based framework that magically create pages, forms and tables with advanced out-of-the-box functionality based on your applications models - without sacrificing flexibility and control.
Major features:
A system to project django model definitions into more high level definitions
Forms: view models, data validation, and parsing
Queries: filtering lists/query sets
Tables: view models for lists/query sets, html tables, and CSV reports
Pages: compose pages from parts like forms, tables and html fragments
All the components are written with the same philosophy of:
Everything has a name
Traversing a namespace is done with
__
when.
can’t be used in normal python syntaxCallables for advanced usage, values for the simple cases
Late binding
Declarative/programmatic hybrid API
Prepackaged commonly used patterns (that can still be customized!)
Single point customization with no boilerplate
Escape hatches included
See philosophy for explanations of all these.
Example:
class IndexPage(Page):
title = html.h1('Supernaut')
welcome_text = 'This is a discography of the best acts in music!'
artists = Table(auto__model=Artist, page_size=5)
albums = Table(
auto__model=Album,
page_size=5,
)
tracks = Table(auto__model=Album, page_size=5)
urlpatterns = [
path('', IndexPage().as_view()),
]
This creates a page with three separate tables, a header and some text:

For more examples, see the examples project.
Running tests¶
You need to have tox installed then:
make venv
source env/bin/activate
make test
make test-docs
License¶
BSD
Contents:¶
- Usage
- Philosophy
- No silent mistakes
- Everything has a name
- Traversing a namespace is done with
__
when.
can’t be used in normal python syntax - Callables for advanced usage, values for the simple cases
- Late binding
- Declarative/programmatic hybrid API
- Prepackaged commonly used patterns (that can still be customized!)
- Single point customization with no boilerplate
- Escape hatches included
- Architecture
- Pages
- Tables
- Queries
- Forms
- Registrations
- Dev tools
- Admin
- HOWTO
- Style
- API Reference
- History
- 2.8.8 (2021-02-23)
- 2.8.7 (2021-02-22)
- 2.8.6 (2021-02-19)
- 2.8.5 (2021-02-17)
- 2.8.4 (2021-02-15)
- 2.8.3 (2021-02-14)
- 2.8.2 (2021-02-09)
- 2.8.1 (2021-02-01)
- 2.8.0 (2021-01-13)
- 2.7.0 (2020-12-14)
- 2.6.1 (2020-12-01)
- 2.6.0 (2020-12-01)
- 2.5.0 (2020-11-19)
- 2.4.0 (2020-11-04)
- 2.3.0 (2020-10-30)
- 2.2.0 (2020-10-16)
- 2.1.0 (2020-10-07)
- 2.0.1 (2020-09-22)
- 2.0.0 (2020-09-22)
- 1.0.3 (2020-08-24)
- 1.0.2 (2020-08-21)
- 1.0.1 (2020-06-24)
- 1.0.0 (2020-06-10)
- 0.7.0 (2020-05-22)
- 0.6.2 (2020-04-22)
- 0.6.1 (2020-04-21)
- 0.6.0 (2020-04-17)
- 0.5.0 (2020-04-01)
- 0.4.0 (2020-03-30)
- Credits
- Contributing
- @github
- @pypi