#process a dict and remove by default the 'request' key
cleandict = lambda dlist, ignore = ['request'] : dict((key, val) for key, val in dlist.items() if key not in ignore)
from django.shortcuts import render_to_response
from django.http import HttpResponse
#render the template - assume a html format
def render_template(func):
'''ensure the view using this has the template name matching it'''
def render(*args, **kwargs):
view_response = func(*args, **kwargs)
if isinstance(view_response, HttpResponse):
return view_response
return render_to_response(func.__name__ + '.html', cleandict(view_response))
return render
Example code:
@render_template
def myview(request):
variables = {'Hello': 'World', 'Monty' : 'Python'}
if request.POST:
return HttpResponseRedirect('/somewhere/')
return locals()
Comments
Why the negative score? Please tell me if something is wrong with this!
#