Laces components provide a simple way to combine data (in the form of Python
objects) with the Django templates that are meant to render that data. The
components can then be simply rendered in any other template using the {%
component %} template tag. That parent template does not need to know anything
about the component's template or data. No need to receive, filter, restructure
or pass any data to the component's template. Just let the component render
itself.
Template and data are tied together in the component, and they can be passed
around together. This becomes especially useful when components are nested -- it
allows us to avoid building the same nested structure twice (once in the data
and again in the templates).
Working with objects that know how to render themselves as HTML elements is a
common pattern found in complex Django applications, such as the Wagtail admin
interface. The Wagtail admin is also where the APIs provided in this package
have previously been discovered, developed and solidified. The purpose of this
package is to make these tools available to other Django projects outside the
Wagtail ecosystem.
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py311-laces listed in the above command, you can pick from the names under the Packages section.
*: Switch consumers over to Django 5.2
Django 4.2 reached its End-of-Life on 7th April 2026 and Django 5.2 is
the new LTS (= Long Term Support) release which will be supported until
April 2028.
* Switch most ports that use www/py-django42 to www/py-django52.
* Where necessary, remove PORTSCOUT, which is no longer needed because
an update to a newer version that no longer supports Django 4.2 should
now be possible.
* Bump PORTREVISION due dependency change where necessary.
PR: 291707
Reviewed by: sunpoet (python)
Differential Revision: https://reviews.freebsd.org/D56966
www/py-laces: Add py-laces 0.1.1
Laces components provide a simple way to combine data (in the form of Python
objects) with the Django templates that are meant to render that data. The
components can then be simply rendered in any other template using the {%
component %} template tag. That parent template does not need to know anything
about the component's template or data. No need to receive, filter, restructure
or pass any data to the component's template. Just let the component render
itself.
Template and data are tied together in the component, and they can be passed
around together. This becomes especially useful when components are nested -- it
allows us to avoid building the same nested structure twice (once in the data
and again in the templates).
Working with objects that know how to render themselves as HTML elements is a
common pattern found in complex Django applications, such as the Wagtail admin
interface. The Wagtail admin is also where the APIs provided in this package
have previously been discovered, developed and solidified. The purpose of this
package is to make these tools available to other Django projects outside the
Wagtail ecosystem.