Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#31006 closed Cleanup/optimization (fixed)

Document how to escape a date/time format character for the |date and |time filters.

Reported by: Baptiste Mispelon Owned by: Ryan Cheley
Component: Documentation Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description (last modified by Mariusz Felisiak)

The current documentation for the date and time filters doesn't explain how to escape a format character.

It's only documented as part of the now template tag:

Note that you can backslash-escape a format string if you want to use the “raw” value. In this example, both “o” and “f” are backslash-escaped, because otherwise each is a format string that displays the year and the time, respectively:
It is the {% now "jS \o\f F" %}
This would display as “It is the 4th of September”.

Historically, the big table with all the available format characters used to be next to the documentation for {% now %} but it was moved at some point (to be with the documentation for |date.

I would suggest moving the paragraph about backslash escape under the table of all formats instead (or least duplicating it there too).

Change History (11)

comment:1 by Ryan Cheley, 5 years ago

Owner: changed from nobody to Ryan Cheley
Status: newassigned

comment:2 by Mariusz Felisiak, 5 years ago

Summary: Document how to escape a date/time format character for the |date and |time filtersDocument how to escape a date/time format character for the |date and |time filters.
Triage Stage: UnreviewedAccepted

date documentation contains an example with escaped format characters:

outputs 9 de Enero de 2008 (the DATE_FORMAT format specifier for the es locale is r'j \d\e F \d\e Y'.

so maybe we can add a short explanation to this example, e.g.:

outputs 9 de Enero de 2008 (the DATE_FORMAT format specifier for the 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.

I also agree to duplicate backslash example to the time documentation.

comment:3 by Ryan Cheley, 5 years ago

I have made the requested change (I think) which can be found here PR

Last edited 5 years ago by Mariusz Felisiak (previous) (diff)

comment:4 by Mariusz Felisiak, 5 years ago

Description: modified (diff)
Has patch: set

comment:5 by Mariusz Felisiak, 5 years ago

Patch needs improvement: set

comment:6 by Ryan Cheley, 5 years ago

Added example to 'time' as suggested by @felixxm here https://github.com/django/django/pull/12128

comment:7 by Ryan Cheley, 5 years ago

Added note to 'time' as suggested by @felixxm here ​https://github.com/django/django/pull/12128

comment:8 by Mariusz Felisiak, 5 years ago

Patch needs improvement: unset

comment:9 by Mariusz Felisiak <felisiak.mariusz@…>, 5 years ago

Resolution: fixed
Status: assignedclosed

In a1f14ee3:

Fixed #31006 -- Doc'd backslash escaping in date/time template filters.

comment:10 by Mariusz Felisiak <felisiak.mariusz@…>, 5 years ago

In cd7f48e8:

[3.0.x] Fixed #31006 -- Doc'd backslash escaping in date/time template filters.

Backport of a1f14ee3e5a2160c2eef1dad58a1da11be4b1531 from master

comment:11 by Mariusz Felisiak <felisiak.mariusz@…>, 5 years ago

In e8b09039:

[2.2.x] Fixed #31006 -- Doc'd backslash escaping in date/time template filters.

Backport of a1f14ee3e5a2160c2eef1dad58a1da11be4b1531 from master

Note: See TracTickets for help on using tickets.
Back to Top