From cd7f48e85e3e4b9f13df6c0ef5f1d95abc079ff6 Mon Sep 17 00:00:00 2001 From: Ryan Cheley Date: Fri, 22 Nov 2019 18:38:27 -0800 Subject: [PATCH] [3.0.x] Fixed #31006 -- Doc'd backslash escaping in date/time template filters. Backport of a1f14ee3e5a2160c2eef1dad58a1da11be4b1531 from master --- docs/ref/templates/builtins.txt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt index c83f2fa1848..daaff8a3933 100644 --- a/docs/ref/templates/builtins.txt +++ b/docs/ref/templates/builtins.txt @@ -1451,7 +1451,9 @@ used. Assuming the same settings as the previous example:: {{ value|date }} outputs ``9 de Enero de 2008`` (the ``DATE_FORMAT`` format specifier for the -``es`` locale is ``r'j \d\e F \d\e Y'``. +``es`` locale is ``r'j \d\e F \d\e Y'``). Both "d" and "e" are +backslash-escaped, because otherwise each is a format string that displays the +day and the timezone name, respectively. You can combine ``date`` with the :tfilter:`time` filter to render a full representation of a ``datetime`` value. E.g.:: @@ -2172,6 +2174,15 @@ For example:: If ``value`` is equivalent to ``datetime.datetime.now()``, the output will be the string ``"01:23"``. +Note that you can backslash-escape a format string if you want to use the +"raw" value. In this example, both "h" and "m" are backslash-escaped, because +otherwise each is a format string that displays the hour and the month, +respectively:: + + {% value|time:"H\h i\m" %} + +This would display as "01h 23m". + Another example: Assuming that :setting:`USE_L10N` is ``True`` and :setting:`LANGUAGE_CODE` is,