Library for creating HTML listing / table / data grid
Project description
Django app for building HTML listings / tables, it includes many features :
Any iterable, Django QuerySet or model can be used.
Most listings can be configured into a template file without touching a python file
A class-based ListingView is provided if you want to code a listing at python side
It as an Ajax mode to save requests to the server
Uses JQuery if ajax is activated
Customized for Bootstrap by default, but can be easily customized in many way (templates, icons, etc…)
You can select columns to display, columns title, default sorting etc..
Pagination is highly customizable (buttons to display, goto page, ellipsis, icons et labels)
Rows can be <div> instead of <tr>, so it is possible to format data in many ways
A lot of column types are provided, they are automatically created when a QuerySet or a model is provided
Columns are class-bases and one can create custom ones
Columns manage One-to-many, Many-to-many and foreign relations
Provides aggregation columns : sum, avg, min, max values
Provides page-level and global aggregation : sum, avg, min, max values displayed at listing last row
Provides columns to make a link to the object, a custom link, checkbox, select box, text input…
Provides “action column” that comes with many actions : show, edit, delete, move up, move down…
is able to manage multiple variations to present data in multiple way at the same place (text only listing, text+image listing, image only listing for example)
Uses Django translation framework : one can translate the listing as needed
Toolbars can be added at the top and/or at the bottom to make actions
Built-in toolbar action are : sorting, select a listing variation, number of rows per page, export data. They are customizable.
Toolbar items are class-based : one can create a custom one easily
django-listing can automatically create a filter form (aka search form)
Listing rows can be selectable in order to apply some actions
Listings can be editable for mass updates
django-listing can automatically create a form for inserting data to database
One can upload files/images into a listing, it uses DropzoneJS (Work in progress)
ListingView can manage itself database inserting, editing, deleting, filtering, uploads and actions : no need to develop any code for that.
django-listing comes with hundreds of icons as a scalable font
django-listing is faster than django-table2
Demo
If you have docker you can run the demo with this command:
docker run -p 8123:8123 elapouya/django-listing-demo
And then open your browser at this url : http://localhost:8123
To install docker on Linux, just use this command:
curl -sSL https://get.docker.com/ | sh
Otherwise, you can upload from here : https://docs.docker.com/get-docker/
Code
The demo code is available on github here : django-listing-demo
License
Django-listing is licensed under the GPLv3 license for all open source applications. A commercial license is required for all commercial applications or non-open applications
See LICENSE.rst file for more informations.
Documentation
Please, read the doc (Work in progress)
News
0.0.7 (2020-07-14)
First running version
0.0.1 (2018-02-03)
Skeleton commit
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_listing-0.0.8-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a07546c41eef357eadecf4528d930e3db36080d62c57ffa9e1ccef76ab71ff6 |
|
MD5 | a4ad5512e58924af8e1f37b10c3349c3 |
|
BLAKE2b-256 | 97b552848eb39399f8a44dbc065ff8c4c395c56a9b0dc1629a8ad712777a4a83 |