Skip to main content
Django-Chassis

A declarative, fully typed chassis for building polished Django Admin applications.

Documentation · Quick start · API reference · Changelog

Django-Chassis 1.0.1 Supported Python versions Supported Django versions Typed package MIT license

Test status pre-commit.ci status


Django-Chassis gives a project a structured AdminSite, composable ModelAdmin options, custom pages, dashboard contracts, and a complete template overlay. Domain models and business rules stay in the project; Chassis provides the reusable Admin application layer around them.

Features

  • Declarative configuration — compose the Admin with ChassisAdminSiteMixin, ChassisAdminMixin, and immutable options.
  • A polished changelist — search, filters, date hierarchy, tabs, badges, pretty JSON, and decimal-amount presentation without ad-hoc template forks.
  • Row, list, and object actions — permission-aware buttons, confirmation, and condition methods.
  • Related entities and generic tables — independently paginated tables with TableOption.
  • Custom pages — permission-aware pages, personal pages, information pages, and timelines.
  • Dashboard contracts — metrics, charts, alerts, actions, a four-column grid, and live refresh at dashboard/live/.
  • Import/export — JSON/XML in, JSON/XML/CSV/XLSX out, preview/apply, history, optional Celery.
  • Users and security — profiles, sessions, login-attempt limits, GeoIP country detection, and an Admin audit journal.
  • Fully typed — ships py.typed and is checked with Pyrefly in strict mode.

Installation

pip install django-chassis

Version 1.0.1 requires Python 3.13 or 3.14 and Django 6.0+.

Put 'django_chassis' before 'django.contrib.admin' so package templates overlay the stock Admin:

INSTALLED_APPS = [
    'django_chassis',
    'django.contrib.admin',
    # ...
]

Background import/export is optional:

pip install 'django-chassis[celery]'

For a production HTTP server, Chassis also provides a Gunicorn management command:

python manage.py run_gunicorn --port=8000 --workers=2

Quick start

Create a Chassis AdminSite, register a model, and mount the site in urls.py:

from django.contrib.admin import AdminSite, ModelAdmin
from django.urls import path
from django.utils.translation import gettext_lazy as _

from django_chassis.mixins import ChassisAdminMixin, ChassisAdminSiteMixin
from django_chassis.options import RowActionsOption, SearchOption

from catalog.models import Book


class CustomAdminSite(ChassisAdminSiteMixin, AdminSite):
    chassis_brand_name = _('My project')
    chassis_brand_logo_static_path = 'img/logo.png'


admin_site = CustomAdminSite(name='admin')


class BookAdmin(ChassisAdminMixin, ModelAdmin):
    options = [SearchOption(fields=['title', 'isbn']), RowActionsOption()]


admin_site.register(Book, BookAdmin)

urlpatterns = [path('admin/', admin_site.urls)]

ChassisAdminSiteMixin and ChassisAdminMixin must come before their Django classes in the MRO.

Documentation

Read the full guides, architecture notes, option reference, and dashboard contracts at django-chassis.rdd-lab.com.

Testing

uv sync --group dev
uv run pytest

License

Distributed under the MIT License.

Support the project

Cryptocurrency & Bitcoin donation button by NOWPayments

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_chassis-1.0.1.tar.gz (746.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_chassis-1.0.1-py3-none-any.whl (817.0 kB view details)

Uploaded Python 3

File details

Details for the file django_chassis-1.0.1.tar.gz.

File metadata

  • Download URL: django_chassis-1.0.1.tar.gz
  • Upload date:
  • Size: 746.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for django_chassis-1.0.1.tar.gz
Algorithm Hash digest
SHA256 00228c05369baca40822e58a162f53bf5b84903bb4888cb870105f25c8da6163
MD5 239888caac77e00834f781aacc741cca
BLAKE2b-256 a18925a03b6f498c748117467e2ec1a331dbb7bed7bc2f43e958a37eb9036776

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_chassis-1.0.1.tar.gz:

Publisher: publish.yml on RDDLab/Django-Chassis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_chassis-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: django_chassis-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 817.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for django_chassis-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 87b98ddc81f6d1729588907c4ccc6d61897b5c6542161e30a3be28492c612e64
MD5 d1843b693161943eb675f1face7f21e5
BLAKE2b-256 dc4c7e87f2e4a3806643a47b9ce6d058c62b295a57def01435e767c8b48f89c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_chassis-1.0.1-py3-none-any.whl:

Publisher: publish.yml on RDDLab/Django-Chassis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.0.2

2 files

This release

1.0.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page