Login

render_to_response wrapper

Author:
Magus
Posted:
February 25, 2007
Language:
Python
Version:
Pre .96
Tags:
render_to_response requestcontext shortcut template
Score:
21 (after 27 ratings)

Simplifies using RequestContext in render_to_response.

Simply call the wrapper with request as the first argument, and the rest of the arguments are as normal for render_to_response.

ex: render_response(request, 'foo_list.html', {'foo': Foo.objects.all()})

1
2
3
4
5
6
from django.shortcuts import render_to_response
from django.template import RequestContext

def render_response(req, *args, **kwargs):
    kwargs['context_instance'] = RequestContext(req)
    return render_to_response(*args, **kwargs)

More like this

  1. another render_to_response wrapper by ro60 7 years, 2 months ago
  2. simplified render_to_response with RequestContext by jasongreen 5 years, 2 months ago
  3. render_with decorator by tobias 6 years, 6 months ago
  4. render_to by asolovyov 6 years, 8 months ago
  5. yet another render_to_response decorator by aleks 2 years, 5 months ago

Comments

stereoit (on July 18, 2007):

+1 from me as I do not have to pass the RequestContext all the time, specially handy for newbie. I spent some time debugging why the authentication is not persistent across the requests just to find out I forgot add RequestContext.

with previous comment I stil lhave to use:

return direct_to_template(request, 'template' , {'context_instance':RequestContext(request), 'form':form})

right?

#

stereoit (on July 18, 2007):

fix to my previous comment, I didn't catch that the RequestContext is in the return statement of direct_to_template. So indeed it looks like this snippet is already in django in some way ;)

#

blcline7156 (on April 11, 2009):

-1 whiteinge has it right, this function adds nothing but confusion to future code, especially since it is so close to the render_to_response function name and is barely less verbose than render_to_response('template', {}, RequestContext(request)).

Use either direct_to_template() or render_to_response('template', {}, RequestContext(request)).

#

Please login first before commenting.