4

I need to pass a dict and an object to a template. So, I do this

rc = RequestContext(request, {'prob':prob}, {'result':result})
return render_to_response('subject/question.html', context_instance=rc)

But I get a error.

Traceback: File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
  111.  response = callback(request, *callback_args, **callback_kwargs) File "E:\django-sample\proschools\..\proschools\subject\views.py" in eval_c
  72.   rc = RequestContext(request, {'prob':prob}, {'result':result}) File "C:\Python27\lib\site-packages\django\template\context.py" in __init__
  173.  self.update(processor(request))

Exception Type: TypeError at /practice/c/eval/ 
Exception Value: 'str' object is not callable
John Eipe
  • 10,922
  • 24
  • 72
  • 114

2 Answers2

10
rc = RequestContext(request, {'prob':prob, 'result':result})

3rd parameter is processors that should be tuple or list

San4ez
  • 8,091
  • 4
  • 41
  • 62
9

You can also use the render shortcut which includes RequestContext and then just pass your variables normally.

from django.shortcuts import render

def someview(request):
    return render(request,'subject/response.html',{'prob':prob,'result':result})
Burhan Khalid
  • 169,990
  • 18
  • 245
  • 284