Skip to main content

Create tables with sorting links on the headers in Django templates.

Project description

Django-table-sort

pre-commit.ci status Documentation Status codecov django-table-sort python-versions django-versions license Code style: black Contributor Covenant downloads

Create tables with sorting links on the headers in Django templates.

Documentation, including installation and configuration instructions, is available at https://django-table-sort.readthedocs.io/.

The Django Table Sort is released under the BSD license, like Django itself. If you like it, please consider contributing!

Installation

First, install with pip:

pip install django-table-sort

Second, add the app to your INSTALLED_APPS setting:

INSTALLED_APPS = [
    ...,
    "django_table_sort",
    ...,
]

Usage

First, add the static to your Template:

<link rel="stylesheet" href="{% static 'django_table_sort.css' %}"/>

django-sort-table uses by default Font Awesome 6 to display the icons, so you might need to add it too.

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css" integrity="sha512-1sCRPdkRXhBV2PBLUdRb4tMg1w2YPf37qatUFeS7zlBy7jJI8Lf4VHwWfZZfpXtYSLy85pkm9GaYVYMfw5BC1A==" crossorigin="anonymous" referrerpolicy="no-referrer" />

Second, Use django-table-sort to display your tables.

In your view.py file:

class ListViewExample(ListView):
    model = Person
    template_name: str = "base.html"
    ordering_key = "o"

    def get_ordering(self) -> tuple:
        return self.request.GET.getlist(
            self.ordering_key, None
        )  # To make Django use the order

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context["table"] = TableSort(
            self.request,
            self.object_list,
            sort_key_name=self.ordering_key,
            table_css_clases="table table-light table-striped table-sm",
        )
        return context

In your template.html file:

{{ table.render }}

Result:

The table is render with 2 link, one to Toggle the sort direction and another to remove the sort.

You can filter by each field you declare as a column.

Project details


Download files

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

Source Distribution

django-table-sort-0.4.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

django_table_sort-0.4.1-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file django-table-sort-0.4.1.tar.gz.

File metadata

  • Download URL: django-table-sort-0.4.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.6 Linux/5.15.0-1014-azure

File hashes

Hashes for django-table-sort-0.4.1.tar.gz
Algorithm Hash digest
SHA256 03d9b8d0fad85ce67c5d7dd826024fa5416c845ccbdca9b1321eb5fb38f91baa
MD5 399e221590c2616ad2e85d03915ccf99
BLAKE2b-256 662c9c8684a593d798d9df51cd232fcdd4678e5c3d8f9d175430a58dbdc06eaf

See more details on using hashes here.

File details

Details for the file django_table_sort-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: django_table_sort-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.6 Linux/5.15.0-1014-azure

File hashes

Hashes for django_table_sort-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e1516b59c626194367a4d198864b8007e2fdb2218bedc6c6e5d5ad2715f9526c
MD5 da35132e06b783a2db6e15eb1ae35dd1
BLAKE2b-256 bde8e9e4ee4bffa44cb2bba30ca146bb1382a0c32b4bc347cbf05547e1b6b422

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page