Create tables with sorting links on the headers in Django templates.
Project description
Django-table-sort
Create tables with sorting links on the headers in Django templates.
This is currently WIP, so many other features will come in future releases.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_table_sort-0.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e43cbde6b94a0e6b62f0687d5bb6b83441b838cb7ce1cbfcfee1739682fae41c |
|
MD5 | d9481b1c83e25ef5534f9370574ceba5 |
|
BLAKE2b-256 | 8c29f3167a57d1dfaa17130d525f75b0f395591b08aff863339b8c4488962254 |