There are probably two problems here.
First, if you override TEMPLATE_CONTEXT_PROCESSORS as you did, you will override the default, which is probably not a good idea. By default, this parameter already includes the auth processor, which in any case gives you the user variable. If you definitely need a request , you should do it (pay attention to += ):
TEMPLATE_CONTEXT_PROCESSORS += ( 'django.core.context_processors.request', )
Secondly, as described in the documentation here when using context processors, you need to make sure that you are using RequestContext in your template. If you use render_to_response , you should do it like this:
return render_to_response('my_template.html', my_data_dictionary, context_instance=RequestContext(request))
Daniel Roseman
source share