Files
@ 5c4cc1e2e114
Branch filter:
Location: website/www/conservancy/static/views.py - annotation
5c4cc1e2e114
2.0 KiB
text/x-python
Add sitefundgoal to top level view context.
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.
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.
2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 f8f37dd39c6b 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 ab2239009a1b ab2239009a1b ab2239009a1b ab2239009a1b ab2239009a1b ab2239009a1b ab2239009a1b 09654a5eac60 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 5c4cc1e2e114 ab2239009a1b ab2239009a1b b3f019265b24 5c4cc1e2e114 5c4cc1e2e114 ab2239009a1b ab2239009a1b b3f019265b24 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 | import os.path
from django.http import HttpResponse
from django.template import RequestContext, loader
from conservancy.apps.fundgoal.models import FundraisingGoal as FundraisingGoal
def handler(request, errorcode):
STATIC_ROOT = '/home/www/website/www/conservancy/static/'
path = 'error/' + errorcode + '/index.html'
fullpath = STATIC_ROOT + path
if not os.path.exists(fullpath):
return HttpResponse("Internal error: " + path)
template = loader.get_template(path)
context = RequestContext(request)
return HttpResponse(template.render(context))
def handler401(request):
return handler(request, '401')
def handler403(request):
return handler(request, '403')
def handler404(request):
return handler(request, '404')
def handler500(request):
return handler(request, '500')
def fundgoal_lookup(fundraiser_sought):
try:
return FundraisingGoal.objects.get(fundraiser_code_name=fundraiser_sought)
except FundraisingGoal.DoesNotExist:
# we have no object! do something
return None
def index(request, *args, **kwargs):
# return HttpResponse("Hello, static world: " + request.get_full_path())
path = request.get_full_path()
path = path.lstrip('/')
if path[-1:] == '/':
path += 'index.html'
STATIC_ROOT = '/home/www/website/www/conservancy/static/'
fullpath = STATIC_ROOT + path
if not os.path.exists(fullpath):
# return HttpResponse("Sorry that's a 404: " + path)
return handler404(request)
template = loader.get_template(path)
kwargs = kwargs.copy()
if kwargs.has_key('fundraiser_sought'):
kwargs['fundgoal'] = fundgoal_lookup(kwargs['fundraiser_sought'])
kwargs['sitefundgoal'] = fundgoal_lookup('supporterrun')
context = RequestContext(request, kwargs)
return HttpResponse(template.render(context))
def debug(request):
path = request.get_full_path()
path = path.lstrip('/')
return HttpResponse("Hello, static world: " + path)
|