Easy sorting of tables with Django
Project description
webstack-django-sorting allows for easy sorting, and sorting links generation without modifying your views. It is the perfect companion of linaro-django-pagination”,
Not yet compatible with Django 1.10, a good opportunity to ditch the middleware!
There are really 5 steps to setting it up with your projects.
List this application in the INSTALLED_APPS portion of your settings file. Your settings file might look something like:
INSTALLED_APPS = ( # ... 'webstack_django_sorting', )
Install the sorting middleware. Your settings file might look something like:
MIDDLEWARE_CLASSES = ( # ... 'webstack_django_sorting.middleware.SortingMiddleware', )
If it’s not already added in your setup, add the ‘request’ context processor:
TEMPLATE_CONTEXT_PROCESSORS = ( 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.static', 'django.core.context_processors.tz', 'django.core.context_processors.request', 'django.contrib.messages.context_processors.messages', )
This example comes from Django 1.6, take care to check against your Django version which context processors are supported (see global_settings.py file of your Django installation).
Add this line at the top of your template to load the sorting tags:
{% load sorting_tags %}
Decide on a variable that you would like to sort, and use the autosort tag on that variable before iterating over it:
{% autosort object_list %}
Now, you want to display different headers with links to sort your objects_list:
<tr> <th>{% anchor first_name _("Name") %}</th> <th>{% anchor creation_date _("Creation") %}</th> </tr>
The first argument is a field or an attribute of the objects list, and the second one (optional) is a title that would be displayed. The previous snippet will be rendered like this in French:
<tr> <th><a href="/path/to/your/view/?sort=first_name" title="Nom">Nom</a></th> <th><a href="/path/to/your/view/?sort=creation_date" title="Création">Création</a></th> </tr>
If your application doesn’t support internationalization, you can use a simple {% anchor first_name Name %}.
That’s it!
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 webstack-django-sorting-0.4.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69f1bfa4da91cc3625ed835b24d22ed88d8f644a63a6c0646cb82f7ff94139af |
|
MD5 | 14bdb828981cb6ee3c9124cfdb659bc4 |
|
BLAKE2b-256 | 4604f213a4c2e1bd5bd0b2c22b16d32f21d4a3480d652c7e2e18e7796edd1ce2 |
Hashes for webstack_django_sorting-0.4.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef0f920ffe5d6f22f7a1865fd1efdb1bcdc3d031e15934a5fa0640db72ff114c |
|
MD5 | a1aae3c673ed04b4e22208abca87f86e |
|
BLAKE2b-256 | b3f63e9111330770abc60dd2f96aa5168ec69afa41e09fa5d5648144cde28422 |