in this case the 'render_template' decorator assumes there is a myview.html template. this keeps things simple and you DRY. Hope it helps.
Regards, Paul
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #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
#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):
variables = func(*args, **kwargs)
return render_to_response(func.__name__ + '.html', cleandict(variables))
return render
Example code:
@render_template
def myview(request):
variables = {'Hello': 'World', 'Monty' : 'Python'}
return locals()
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 10 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 3 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
- Help text hyperlinks by sa2812 1 year, 6 months ago
Comments
your cleandict needs a patch:
either:
or:
will fix the problem...
#
Please login first before commenting.