Returns a list of date objects for a given number of past days, including today. Useful for summaries of recent history.
Inspired by Template range filter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | from django.template import Library
import datetime
register = Library()
@register.filter
def past_days(num_days):
"""
Returns a list of date objects for a given number of past days,
including today. Useful for summaries of recent history.
Usage:
{% load past_days %}
<ul>
{% for day in 7|past_days %}
<li>{{ day|date:'l, F jS' }}</li>
{% endfor %}
</ul>
"""
days = []
day = datetime.date.today() - datetime.timedelta(num_days - 1)
for _ in xrange(num_days):
days.append(day)
day += datetime.timedelta(1)
return days
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 2 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
- Help text hyperlinks by sa2812 1 year, 7 months ago
Comments
Please login first before commenting.