An extension of django's ListView that provides sorting
Project description
[![Build Status](https://travis-ci.org/aptivate/django-sortable-listview.svg?branch=py2py3)](https://travis-ci.org/aptivate/django-sortable-listview) [![Coverage Status](https://coveralls.io/repos/aptivate/django-sortable-listview/badge.svg?branch=py2py3)](https://coveralls.io/r/aptivate/django-sortable-listview?branch=py2py3)
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)
(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.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
Hashes for django-sortable-listview-0.40.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46eca226789fd300d42a1e852970d8fce57580225fbfd8415d573b0fc118a25b |
|
MD5 | e870e489438f846f62c043be17b778d7 |
|
BLAKE2b-256 | fd9df43542a07c93610ef4ce0cb7d6ae3033b9ee5da3eeb3590af8d4fc6b79f0 |