5c4cc1e2e1
The base template now has access to the fund-raising goal that will be displayed site-wide. The view here must provide it in the context for access everywhere. Furthermore, we need a local context processor to make sure it's in context everywhere, and we have to make sure that context is properly passed along. This code is a bit cargo-culted in, based on what I read in various places about adding the Request context.
24 lines
1,007 B
Python
24 lines
1,007 B
Python
from django.shortcuts import render_to_response
|
|
from conservancy import context_processors as context_processors
|
|
from django.template import RequestContext
|
|
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, context_instance=RequestContext(request))
|