iommi
iommi is a django-based framework for even higher abstraction and faster development than django itself.
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:
- Late binding
- Many layered customization
- Single point customization without needing to introduce entire chains of classes
- Prepackaged commonly used patterns (that can still be customized!)
- Declarative/programmatic hybrid API
- Everything has a name so can be referenced for customization
- Escape hatches included
Example:
def my_page(request):
class MyPage(Page):
foos = Table.from_model(model=Foo)
bars = Table.from_model(model=Bar)
return MyPage()
This creates a page with two tables, one for the model Foo
and one for the model Bar
.
Usage
See usage.
Running tests
You need tox installed then just make test
.
License
BSD