Use template date filters in custom template tag?

Viewed 39

I want to use Django template date filters inside a custom template tag. Is that possible?

My end goal is to be able to use it like this:

{{parcel.pickup_dates|delivery_dates_formating}}

Problem is, that "pickup_dates" can be array of 1 or 2 or 3 elements. My desired output is:

  • "Sunday, 21 September" if one element,
  • "Satardau - Sunday, 21-22 September" if 2 elements,
  • "Friday - Sunday, 20-22 September" if 3 elements,

Currenly my temlpate tag looks like this:

def delivery_dates_formating(value):
  if len(value) == 1:
    return [value[0]]
  if len(value) == 2:
    return [value[0], value[1]]
  if len(value) == 3:
    return [value[0], value[2]]

And in template I used to use something like: {{parcel.delivery_date|date:'E j, l'|capfirst}}

I woul like to use django tempaltes date filtes, as it handels localisation. Is that possible?

0 Answers
Related