iommi is a high level framework built on django
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.
- 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 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
See philosophy for explanations of all these.
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.
We use hammett for tests, so pip install hammett then run hammett.
There’s a make test-live target for running tests interactively. You first need to pip install watchdog pyyaml argh.
For running the full tests on all supported environments: install tox then
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size iommi-2.2.0.tar.gz (86.2 kB)||File type Source||Python version None||Upload date||Hashes View|