templatetags: unlazy values given to |date, |datetime, |time filters (#50102)
This commit is contained in:
parent
1f597a3c63
commit
2691f4c80c
|
@ -144,6 +144,8 @@ def parse_date(date_string):
|
|||
|
||||
@register.filter(expects_localtime=True, is_safe=False)
|
||||
def date(value, arg=None):
|
||||
if hasattr(value, 'get_value'):
|
||||
value = value.get_value() # unlazy
|
||||
if arg is None:
|
||||
value = parse_date(value)
|
||||
if not value:
|
||||
|
@ -170,6 +172,8 @@ def parse_datetime(datetime_string):
|
|||
|
||||
@register.filter(name='datetime', expects_localtime=True, is_safe=False)
|
||||
def datetime_(value, arg=None):
|
||||
if hasattr(value, 'get_value'):
|
||||
value = value.get_value() # unlazy
|
||||
if arg is None:
|
||||
value = parse_datetime(value)
|
||||
if not value:
|
||||
|
@ -199,6 +203,8 @@ def parse_time(time_string):
|
|||
|
||||
@register.filter(expects_localtime=True, is_safe=False)
|
||||
def time(value, arg=None):
|
||||
if hasattr(value, 'get_value'):
|
||||
value = value.get_value() # unlazy
|
||||
if arg is None:
|
||||
parsed = parse_time(value)
|
||||
return parsed if parsed is not None else '' # because bool(midnight) == False
|
||||
|
|
Loading…
Reference in New Issue