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.2 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.2 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.2.tar.gz (746.8 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.2-py3-none-any.whl (817.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django_chassis-1.0.2.tar.gz
  • Upload date:
  • Size: 746.8 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.2.tar.gz
Algorithm Hash digest
SHA256 861cf518f2c2d630fc5198e03d3b8ed5837fc384a2e769cf6bded635fabb101d
MD5 12ed38a9c8f2068a68a566e5a7d4c45e
BLAKE2b-256 f1db70ffb27029cd4debf316500ebcccd53ea02898c61e0a3d2bed9445860f2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_chassis-1.0.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: django_chassis-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 817.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1c387a591ee5feadf0cd1c507235fa488ad62fa2007e353d0890a291e057ab49
MD5 aaad002a99b817d85c91363abd32e167
BLAKE2b-256 f6d471604729c3a2d85094727568e8b29d8844786715a86a96a5ad3fcfe11d73

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_chassis-1.0.2-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

This release

1.0.2 This release

2 files

1.0.1

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