From 231c0d85931b5afde3e3caec0e6bc5ca6132bb7a Mon Sep 17 00:00:00 2001 From: nabil-rady Date: Wed, 14 Aug 2024 00:58:37 +0300 Subject: Fixed #35668 -- Added mapping support to format_html_join. --- docs/ref/utils.txt | 25 ++++++++++++++++++++++--- docs/releases/5.2.txt | 4 ++++ 2 files changed, 26 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/ref/utils.txt b/docs/ref/utils.txt index d6c70a9bb0..33e0fceadf 100644 --- a/docs/ref/utils.txt +++ b/docs/ref/utils.txt @@ -699,10 +699,29 @@ escaping HTML. joined using ``sep``. ``sep`` is also passed through :func:`conditional_escape`. - ``args_generator`` should be an iterator that returns the sequence of - ``args`` that will be passed to :func:`format_html`. For example:: + ``args_generator`` should be an iterator that yields arguments to pass to + :func:`format_html`, either sequences of positional arguments or mappings of + keyword arguments. - format_html_join("\n", "
  • {} {}
  • ", ((u.first_name, u.last_name) for u in users)) + For example, tuples can be used for positional arguments:: + + format_html_join( + "\n", + "
  • {} {}
  • ", + ((u.first_name, u.last_name) for u in users), + ) + + Or dictionaries can be used for keyword arguments:: + + format_html_join( + "\n", + '
  • {id} {title}
  • ', + ({"id": b.id, "title": b.title} for b in books), + ) + + .. versionchanged:: 5.2 + + Support for mappings in ``args_generator`` was added. .. function:: json_script(value, element_id=None, encoder=None) diff --git a/docs/releases/5.2.txt b/docs/releases/5.2.txt index fa25737432..0caeef01cf 100644 --- a/docs/releases/5.2.txt +++ b/docs/releases/5.2.txt @@ -267,6 +267,10 @@ Utilities values. This aligns with the :py:class:`str` addition behavior and allows ``__radd__`` to be used if available. +* :func:`~django.utils.html.format_html_join` now supports taking an iterable + of mappings, passing their contents as keyword arguments to + :func:`~django.utils.html.format_html`. + Validators ~~~~~~~~~~ -- cgit v1.3