Past days template 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 range filter by zalun 4 years, 2 months ago
  2. Smart i18n date diff (twitter like) by Batiste 4 years, 1 month ago
  3. Fuzzy Date Diff Template Filter by zain 4 years, 2 months ago
  4. Days Since Filter by joe4444 6 years, 2 months ago
  5. Filter to adjust forloop.counter across pages in a paginated view by egmanoj 4 years, 2 months ago

Comments

(Forgotten your password?)