Django

Code

Show
Ignore:
Timestamp:
09/03/08 10:22:58 (4 months ago)
Author:
jacob
Message:

[djangoproject.com] a bunch of fixes to the website. Fixes #7271, #7459, #7902, #8271, #7949, #8845.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • djangoproject.com/django_website/apps/blog/templatetags/weblog.py

    r3536 r8925  
     1import datetime 
    12from django import template 
    23from django_website.apps.blog.models import Entry 
    3 import datetime 
    4  
    5 class LatestBlogEntriesNode(template.Node): 
    6     def __init__(self, num, varname): 
    7         self.num, self.varname = num, varname 
    8  
    9     def render(self, context): 
    10         context[self.varname] = list(Entry.objects.filter(pub_date__lte=datetime.datetime.now())[:self.num]) 
    11         return '' 
    12  
    13 def do_get_latest_blog_entries(parser, token): 
    14     """ 
    15     {% get_latest_blog_entries 2 as latest_entries %} 
    16     """ 
    17     bits = token.contents.split() 
    18     if len(bits) != 4: 
    19         raise template.TemplateSyntaxError, "'%s' tag takes three arguments" % bits[0] 
    20     if bits[2] != 'as': 
    21         raise template.TemplateSyntaxError, "First argument to '%s' tag must be 'as'" % bits[0] 
    22     return LatestBlogEntriesNode(bits[1], bits[3]) 
    234 
    245register = template.Library() 
    25 register.tag('get_latest_blog_entries', do_get_latest_blog_entries) 
     6 
     7@register.inclusion_tag('blog/entry_snippet.html') 
     8def render_latest_blog_entries(num): 
     9    entries = Entry.objects.filter(pub_date__lte=datetime.datetime.now())[:num] 
     10    return { 
     11        'entries': entries, 
     12    } 
     13 
     14@register.inclusion_tag('blog/month_links_snippet.html') 
     15def render_month_links(): 
     16    return { 
     17        'dates': Entry.objects.dates('pub_date', 'month'), 
     18    }