09654a5eac
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 :).
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
import os.path
|
|
from django.http import HttpResponse
|
|
from django.template import RequestContext, loader
|
|
|
|
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 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)
|
|
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)
|
|
|