django-jinja-knockout

Django datatables and widgets, both AJAX and traditional. Display-only ModelForms. ModelForms / inline formsets with AJAX submit and validation. Works with Django templates.

OTHER License

Downloads
637
Stars
144
Committers
9

Bot releases are visible (Hide)

django-jinja-knockout - v2.2.1 Latest Release

Published by Dmitri-Sintsov 10 months ago

  • Python 3.12 / Django 5.0 compatibility.
  • Use axios instead of outdated jQuery.form plugin.
django-jinja-knockout - 2.1.0

Published by Dmitri-Sintsov over 2 years ago

Built-in custom elements, including es5 IE11 polyfills.

Bootstrap 5 compatibility.

ObjDict Django model serializer with built-in field permissions check for AJAX viewmodels, including datatables.

get_absoulte_url with optional user permission check / link title generation.

django-jinja-knockout - 2.0.0

Published by Dmitri-Sintsov over 2 years ago

Built-in es6 modules support for modern browsers.

Optional SystemJS loader support for IE11 via django_deno.

Optional minified terser bundles support both for es6 modules and for SystemJS loader via django_deno.

datatables support separate cell click actions, not just row actions.

More throughout support for datatables annotated fields / virtual fields via grid_fields dicts.

Optional lazy registration of client-side components.

Numerous fixes, including improved related grid view kwargs auto-detection, see pageRouteKwargsKeys and pageRouteKwargsKeys example.

ListRangeFilter for ListSortingView range fields.

django-jinja-knockout - 1.1.0

Published by Dmitri-Sintsov over 3 years ago

Optional separate action handlers for HTTP methods.

RangeFilter / DateFilter / DateTimeFilter ListSortingView filters for numeric / DateField / DateTimeField Django model fields.

ListQuerySet supports ordering by prefetched reverse relation list field name: qs.order_by('reverse_relation_list__field_name')

Automatic client-side localization.

Support of Selenium 4. Additional Selenium commands. Improved Selenium logging.

django-jinja-knockout -

Published by Dmitri-Sintsov over 4 years ago

Django 3.1a1 / Bootstrap 4.5 / Knockout 3.5 support.

MultipleKeyGridWidget edit many to many relationships for Django models.

PageContext to inject view title / client data / client routes / custom scripts to templates via TemplateResponse.

Improved Bootstrap popovers support.

Support for Nested components in formsets.js (empty_form) 'anonymous_template' Knockout binding.

UrlPath class supports automatic re_path() generation with positional named keyword arguments.

django-jinja-knockout - 0.8.0

Published by Dmitri-Sintsov over 5 years ago

  • Supports both Bootstrap 4 and Bootstrap 3 via pluggable djk_ui application.
  • Renderer classes provides customizable layouts for fields / forms / related forms / inline formsets.
  • Underscore.js templates support template attributes merging and custom tags.
  • Nested / sparse components.
  • Nested serializer.
django-jinja-knockout - 0.7.1

Published by Dmitri-Sintsov over 6 years ago

Grids (datatables) compound columns support. New built-in action type 'pagination'.

Optional built-in Javascript error logger.

AJAX forms / viewmodels improvements and refactoring.

django-jinja-knockout - 0.6.0

Published by Dmitri-Sintsov about 7 years ago

AJAX actions are rewritten as server-side ActionsView class and client-side counterpart App.Actions. It is now used as foundation for most of AJAX code, including grid datatables and new App.EditForm / App.EditInline client-side components.

New widget widgets.PrefillWidget to select pre-filled text from the list of supplied values.

Selective skipping of DisplayText field widget rendering.

Basic version of ViewmodelValidator for AJAX submitted forms.

django-jinja-knockout - 0.5.0

Published by Dmitri-Sintsov over 7 years ago

Rewritten recursive underscore.js template processor.

Displaying verbose field names in grid rows, grid row actions and in ForeignKeyGridWidget related model field placeholder.

Clean-up of client-side components code.

Better support for grids that use RAW queries with LEFT JOIN, which may have multiple rows with the same pkVal.

Improvements in Selenium automation testing: better handling of automation commands, more of commands implemented, much larger test coverage.

Numerous bugfixes, including related field queries support in FilteredRawQuerySet.

django-jinja-knockout - 0.4.2

Published by Dmitri-Sintsov over 7 years ago

  • Compatibility to Django 1.10+ new-style middleware (thanks to Melvyn Sopacua).
  • Fixed pagination when multiple filter field choices are selected in views.ListSortingView.
django-jinja-knockout - 0.4.1

Published by Dmitri-Sintsov over 7 years ago

ListSortingView now supports multiple_choices option of the choices filter.

Large monolithic views.py was split into separate base.py / detail_edit.py / list.py / ajax.py class-based views.

Alternative breadcrumbs layout of field filters widgets in ko_grid_body() macro used by KoGridView.

Various bugfixes and security fixes.

django-jinja-knockout - 0.4.0

Published by Dmitri-Sintsov over 7 years ago

Large improvements in Selenium testing support: additional commands are implemented, auto-retry on DOM timeout, fixtures loading / saving which allows to skip already debugged parts of tests, saving developer's time.

ContextMiddleware supports request mocking and request-time storage.

FilteredRawQuerySet supports Q expressions (Q objects) with relation mapping.

BaseFilterView / KoGridView - basic support for Q expressions (currently is used for None value of field
filter), support for in query for choice filter value via the list of values.

Even better support of optional Django model get_str_fields() method in DisplayText widget and in Knockout.js grids.

Various bugfixes.

django-jinja-knockout -

Published by Dmitri-Sintsov almost 8 years ago

AJAX grids implement new types of filters. Autodiscover of foreign key filter fields options when possible.

Two new types of querysets - one to filter / order / silce raw queries, second one implements large part of Django queryset functionality for lists of Django model instances, returned by .prefetch_related().

ListSortingView (non-AJAX datatables) improvements.

SendmailQueue is extensible now via optional ioc class, which allows to use database / celery to implement background email queues.