Вопрос

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