Opened 3 weeks ago

Last modified 9 days ago

#37118 assigned New feature

Support variables in the {% now %} template tag

Reported by: Lily Owned by: zky
Component: Template system Version: 6.0
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

This was discussed and accepted in https://github.com/django/new-features/issues/115.

Allow passing a variable from the template context into the {% now %} template tag to allow dynamically choosing the formatting.

Django's `{% now %}` template tag currently only supports a hardcoded string format defined directly in the template, or one of a small number of specific settings. By supporting template variables, it would be possible to change the format dynamically (for example, based on a user's locale).

As I explain in my blog post, the now tag has some very weird behaviour caused by assuming the format will always be a string. By expanding to support variables, we can also clean up these weird edge-cases by raising a TemplateSyntaxError.

Several other template tags support variables, so it should be fairly easy to reuse their implementation of this.

Change History (9)

comment:1 by zky, 3 weeks ago

Owner: set to zky
Status: newassigned

comment:2 by zky, 3 weeks ago

Has patch: set

comment:3 by zky, 3 weeks ago

I have submitted PR #21349 for this feature. Would a triager please update the Triage Stage to Accepted so that the GitHub CI checks can run? Thank you very much!

comment:4 by JaeHyuckSa, 3 weeks ago

Triage Stage: UnreviewedAccepted

comment:5 by zky, 3 weeks ago

Hello, my previous PR was closed because the ticket hadn't reached the 'Accepted' status. Here is my new PR: https://github.com/django/django/pull/21357. Thank you

comment:6 by Tim McCurrach, 2 weeks ago

Patch needs improvement: set

comment:7 by zky, 2 weeks ago

Patch needs improvement: unset

comment:8 by zky, 2 weeks ago

Updated the PR to address the review comments. All checks are passing now. Please take another look, thanks!

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