Login

Past days template filter

Author:
ramen
Posted:
November 18, 2009
Language:
Python
Version:
1.1
Score:
0 (after 0 ratings)

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

  1. Template tag - list punctuation for a list of items by shapiromatron 2 months, 2 weeks ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 2 months, 3 weeks ago
  3. Serializer factory with Django Rest Framework by julio 9 months, 2 weeks ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 10 months, 1 week ago
  5. Help text hyperlinks by sa2812 11 months ago

Comments

Please login first before commenting.