iommi is a high level framework built on django
Project description
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 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.
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.
Usage
See usage.
Running tests
You need tox installed then just make test
.
License
BSD
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file iommi-0.6.0.tar.gz
.
File metadata
- Download URL: iommi-0.6.0.tar.gz
- Upload date:
- Size: 71.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e99cd83f71dc89236973d7565e7063cb463387fefd9b152b45d326238c36ae2f |
|
MD5 | 34a7898cb14dff2bdcdb350d887a24c4 |
|
BLAKE2b-256 | b6186fb61bccb0a7b89255a33e6ab82624c5a0cd9347eb40a4bcef665e59cac3 |