Skip to main content

An extension of django's ListView that provides sorting

Project description

[![Build Status](https://travis-ci.org/aptivate/django-sortable-listview.svg?branch=master)](https://travis-ci.org/aptivate/django-sortable-listview) [![Coverage Status](https://coveralls.io/repos/aptivate/django-sortable-listview/badge.svg?branch=master)](https://coveralls.io/r/aptivate/django-sortable-listview?branch=master)

django-sortable-listview

An extension of django’s ListView that provides sorting.

Features: - Works with django’s built in pagination. - Contains templates & css for pagination and sort buttons (or just use the context_data and build your own). - Adds an arrow to show the sort direction on the active sort. - Knows what the next sort is (i.e. if you’re already sorted by title in one direction, clicking on the title button/link again will sort it in the other direction). - Lets you specify default sort for your list (defaults to -id) and for each of the sortable fields. - Modifies the queryset, so your database does your sorting. - Maintains additional query strings (configurable)

Requirements

  • Python (2.6, 2.7, 3.2, 3.3, 3.4)

  • Django (1.4, 1.5, 1.6, 1.7, 1.8)

(Tested against the latest version of each e.g. currently Python 2.7.4 & Django 1.5.12)

Install

Using pip:

pip install django-sortable-listview

If you want to use the provided temaplates and CSS add 'sortable_listview' to your INSTALLED_APPS in your django settings.

To see how to include the css and templates in your application, look at the example project. The css is just standard bootstrap.

Example Project

![Screenshot of example project](/example_project/screenshot.png)

To run the example project. First make sure django and django-sortable-listview are on your python path. For example, from inside a virtualenv:

pip install django
pip install django-sortable-listview

Then from your cloned folder:

cd example_project
python manage.py runserver

You should be able to see the example project at localhost:8000. A database is provided with some sample content. The username and password is admin/admin

Development and Tests

For your development setup:

pip install -r requirements-dev.txt

To run the tests:

tox

You may not want to run the whole tox suite when you are doing development. In this case, uncomment the extra lines in requirements-dev.txt, but please don’t commit these changes. (Suggestions welcome on a better way to manage this) # Change Log

## 0.41

  • Further querystring improvement (thanks @fle)

  • Test against Django 1.8

## 0.40

  • Add support for Python 3

  • Add tox & travis to test all variations

  • Update license to MIT

## 0.30

  • Add support for preserving other query strings (thanks @fle)

  • Make sure tests run in 1.6 and 1.7 (thanks @fle)

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-sortable-listview-0.41.tar.gz (18.5 kB view details)

Uploaded Source

File details

Details for the file django-sortable-listview-0.41.tar.gz.

File metadata

File hashes

Hashes for django-sortable-listview-0.41.tar.gz
Algorithm Hash digest
SHA256 c20cfd2b64238576b87fe011fda77de78fd6a27412a9a8b1e57cd392c798a1b2
MD5 4bc237a4f924735729c80f772a15e655
BLAKE2b-256 796c80dbb25e037d8061e8e2ec63d926a3b4e1f201626f87f086d792dcbf022d

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