Question

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
Était-ce utile?

La solution

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

3rd parameter is processors that should be tuple or list

Autres conseils

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})
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top