Package: django-listing
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 fileA class-based ListingView is provided if you want to code a listing at python sideIt as an Ajax mode to save requests to the serverUses JQuery if ajax is activatedCustomized 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 waysA lot of column types are provided, they are automatically created when a
QuerySet or a model is providedColumns are class-bases and one can create custom onesColumns manage One-to-many, Many-to-many and foreign relationsProvides aggregation columns : sum, avg, min, max valuesProvides page-level and global aggregation : sum, avg, min, max values displayed at listing last rowProvides 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 neededToolbars can be added at the top and/or at the bottom to make actionsBuilt-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 easilydjango-listing can automatically create a filter form (aka search form)Listing rows can be selectable in order to apply some actionsListings can be editable for mass updatesdjango-listing can automatically create a form for inserting data to databaseOne 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 fontdjango-listing is faster than django-table2ShowcaseA demo is included in source code, you will needpoetryto install python environment:curl -sSL https://install.python-poetry.org | python3 -To install the python envionment, go to django-listing source code root directory, then:cd showcase
poetry installCheck you are inshowcase/directory, then start the Django from poetry environment:poetry run python manage.py runserver 8123A sqlite database is already included, you do not have to make any migration,
just open your brower athttp://localhost:8123LicenseDjango-listing is licensed under the GPLv3 license for all open source applications.
A commercial license is required for all commercial applications or non-open applicationsSeeLICENSE.rstfile for more informations.DocumentationPlease,read the doc(Work in progress)News0.7.10 (2024-02-29)Fix #19Fix action column0.7.9 (2024-02-26)Add export toolbar button permission0.7.8 (2024-02-21)Add spinner while exporting listing to fileCheck export select file format to not be emptyBetter default listing nameExported file name has now a timestamp0.7.7 (2024-02-20)Sanitize strings for Excel exportColumns to be exported are now customizable0.7.5 (2024-02-19)Use base64 for attached form serialization encoding0.7.4 (2024-02-16)Fix attached_form auto-fill0.7.3 (2024-02-08)Add animation on attached_form insertFix pagination0.7.2 (2024-02-08)Improve insert button management in attached_form0.7.1 (2024-02-07)Fix group byAdd ModelMethodRef and RelatedModelMethodRef0.7.0 (2024-02-02)Add AttachedForm feature with ajax autofill and actions processing0.6.4 (2024-01-18)Improve listing insert formadd no_foreignkey_link to ManyColumn classadd range selection (press shift on second selection)fix FloatColumnfix gettextfix group-by buttonsMany fixes when accept_ajax = TrueAdd “Group By” and annotations feature0.5.17 (2023-11-28)Add FloatFilterFix XSS issues on ForeignKeyColumns and LinkColumnImprove get_absolute_url() usageImprove default_value on Filter()Add default_value on Filter()Improve foreign key column titleFix word search with filter_queryset_methodFix listing export for ExcelBetter focus when using Select2 widgetStrip HTML tags on data exportsFix exception management for Django 4Add add_one_day option on DateFilterFix unexpected SQL query with ListingVariationsData Export works with active filters and ajax=TrueAdd filter_queryset_method filter attributeUpdate fr translationsAdd links in ManyColumn if get_absolute_url() exists on related objectsAdd __url_func parameter for edit/delete/view action buttons0.0.28 (2023-06-27)Add AutocompleteMultipleForeignKeyFilterAdd ForeignKeyFilter and AutocompleteForeignKeyFilterAdded edit and delete action buttonsFixed action button “see details” modalImproved CSS for small deviceAuto-detect many-to-many model fields if present in select_columnsFixed choices widgetsImproved radio and checkbox in filter formFixed ModelColumnsAdded LineNumberColumn()Use scss to generate css filesAdded showcase with many demo pages see showcase/README.rstFixed bad form closingFixed ListingVariation with AjaxAdded django-like filter syntax for sequencesAdded JsonDateTimeColumn classAdded support for python 3.10Added possibility to create custom action button linked with listing method0.0.7 (2020-07-14)First running version0.0.1 (2018-02-03)Skeleton commit