Compare date in the view, and pass something like in_the_past
(boolean) to the extra_context.
Or better add it to the model as a property.
from datetime import date
@property
def is_past_due(self):
return date.today() > self.date
Then in the template:
{% if listing.is_past_due %}
In the past
{% else %}
{{ listing.date|date:"d M Y" }}
{% endif %}
Basically the template is not the place for date comparison IMO.