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
有帮助吗?

解决方案

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

3rd parameter is processors that should be tuple or list

其他提示

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})
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top