Skip to main content

django-tableaux

Django tables with Advanced User eXperience

Almost every Django project has a need to display data in tabular form. Creating a simple table is relatively easy, but if your data is complex with many columns you owe it to your users to present the data in a format that suits them. Different users may want to view different combinations of columns, be using very different devices and maywant to interactively work with the table in different ways. Simple html tables don't meet those requirements well. That's where this package comes in.

Django-tableaux builds upon two well-established django apps: django_tables2 and django_filter and enhances their functionality through a sprinkling of htmx magic. It provides a single class-based docs/source/TableauxView.md in which you can enable multiple features to deliver a customised user experience that embodies the best practices for interactive tables.

Key features

  • User-definable columns selection with frozen columns and preset widths
  • Fully responsive: Define different table layouts for mobile, tablet and desktop
  • Perform bulk actions on selected rows or on all (possibly filtered) rows
  • User-definable rows per page with options for infinite scroll and infinite load-more data
  • Display filters in a toolbar, in a modal or embed them within the table header
  • Show active filter pils with ability to clear individual filters
  • Edit specific fields directly inside the table
  • Easy integration with generic views for CRUD operations
  • Configurable toolbars above and below the table data

See docs/source/introduction.md for a more detailed walkthrough of these features.

Installation

uv add django-tableaux

or

pip install django-tableaux

Dependencies

At a minimum django-tableaux requires django_tables2, django_filter and htmx to operate. If not already loaded installing django-tableaux will also install suitable versions of those packages. If you are using bootstrap and employing filtering, django-tableaux's standard templates use the https://github.com/zostera/django-bootstrap5 package to display the filter form's fields. This package is not automatically installed; you must install it separately if needed.

Templates and CSS

Django-tableaux splits table generation into a hierarchy of templates. To properly present tables a minimum amount of CSS is required. We provide a native CSS file that defines the minimum to make tables look good, and include CSS variables that you can set to tailor the colours and presentation. We also supply ready-built templates adapted for Bootstrap that work for both version 4 and version 5.

Internally, templates are organised in a template dictionary. This dictionary is loaded with a mixture of basic templates, bootstrap-specific templates if required, and optionally user-specific templates.

See docs/source/templates.md for details on the template dictionary and how to override templates.

Documentation

Full documentation is in docs/source:

  • Introduction — overview of the features django-tableaux provides
  • TableauxView — the main class-based view
  • Views — view configuration
  • Columns — defining and customising columns
  • Attributes — view and column attributes reference
  • Settings — project-wide settings
  • Templates — the template dictionary and overriding templates
  • Toolbar — toolbar and filter placement

Metadata

Release files for django-tableaux 0.8.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-tableaux 0.8.4
File Size Uploaded Provenance Actions
django_tableaux-0.8.4.tar.gz 42.9 kB Without provenance Details for django_tableaux-0.8.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for django-tableaux 0.8.4
File Interpreter ABI Platform Actions
django_tableaux-0.8.4-py3-none-any.whl Python 3 none any Details for django_tableaux-0.8.4-py3-none-any.whl

Total release size: 118.3 kB

Release files / django_tableaux-0.8.4.tar.gz

Download URL django_tableaux-0.8.4.tar.gz
Size 42.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5395b2a4c159a87683dc0b88652c6730707efb53b6ca4733f036f73a986d035f
BLAKE2b-256 checksum
How to use checksums
e60b3e39ebffd04784a67735cd6726b7983cdd17a45658a94a0274c5bd8e0abe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / django_tableaux-0.8.4-py3-none-any.whl

Download URL django_tableaux-0.8.4-py3-none-any.whl
Size 75.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd5586282ad093bd82311152f0b93dadcbf2dcd2809ef3cb7ee48f0634f17de4
BLAKE2b-256 checksum
How to use checksums
88837f5a646012a98b9e1f6eec4dd7ba9f90d27935c98815cdc763daccf4ec76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for django-tableaux 0.8.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page