iommi

Your first pick for a django power chord

https://img.shields.io/badge/Code_on-GitHub-black https://img.shields.io/discord/773470009795018763?logo=discord&logoColor=fff?label=Discord&color=7389d8 https://github.com/iommirocks/iommi/workflows/tests/badge.svg https://codecov.io/gh/iommirocks/iommi/branch/master/graph/badge.svg Documentation Status https://img.shields.io/badge/code%20style-black-000000.svg

iommi is a toolkit to build web apps faster. It’s built on Django but goes a lot further.

It has:

  • forms: that feel familiar, but can handle growing complexity better than Django’s forms

  • tables: that are powerful out of the box and scale up to arbitrary complexity

  • a system to compose parts:, like forms, menus, and tables, into bigger pages

  • tools that will speed up your development like live edit, jump to code, great feedback for missing select/prefetch related, a profiler, and more.

  • great error messages when you make a mistake

_images/README-demo.gif

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:

_images/README-screenshot.png

For more examples, see the examples project.

Getting started

See getting started.

Running tests

License

BSD

Finding your way around

These docs are split by what you need right now:

  • Tutorials are lessons to work through when you’re new. Start here.

  • How-to guides answer “how do I …?” when you have a job to do.

  • Reference is the dry description of every knob iommi has.

  • Explanation covers the thinking behind iommi, so your code comes out idiomatic.

Tutorials

How-to guides

Reference

Explanation

Indices and tables