Files @ 09654a5eac60
Branch filter:

Location: website/www/conservancy/frontpage.py

bkuhn
Fundraising goal lookup for template: 1st attempt

This seems to be the best approach to pass a fundraising goal record to
a template. While the static hack that tmarble implemented probably
needs work anyway, this is probably the best way currently to interface
certain general data that we seek to place on many different pages
through the templates.

I looked into a templatetags solution, but this seemed more
straightforward and more fitting with Django principles (I think :).
from django.shortcuts import render_to_response
from conservancy.apps.supporters.models import Supporter as Supporter
from conservancy.apps.news.models import PressRelease
from conservancy.apps.blog.models import Entry as BlogEntry
from datetime import datetime, timedelta

def view(request):
    """Conservancy front page view

    Performs all object queries necessary to render the front page.
    """

    supporters_count = len(Supporter.objects.all().filter(display_until_date__gte=datetime.now()))
    press_releases = PressRelease.objects.all().filter(pub_date__lte=datetime.now(), sites=2)[:5]
    blog = BlogEntry.objects.all().filter(pub_date__lte=datetime.now())[:3]

    c = {
        'press_releases': press_releases,
        'supporters_count': supporters_count,
        'blog' : blog
    }
    return render_to_response("frontpage.html", c)