In Django I want to add a variable to the request. i.e,
def update_name(request):
names = Employee.objects.filter()
if names.count() > 0:
request.update({"names": name })
return render_to_response('chatlist/newchat.html',
context_instance=RequestContext(request, {'form': form,'msg': msg}))
Is this the right way to add a variable to the request? If not, how should I do it?
Also, how can I retrieve the same value in the templates page? i.e,
alert ("{{request.names['somename']}}");
The example you have given is wrong because
name
variable which you haven't assigned anywhere?Anyway, in python you can simply assign attributes, e.g.
def update_name(request):
names = Employee.objects.filter()
if(names.count() > 0):
request.names = names
return render_to_response('chatlist/newchat.html', context_instance=RequestContext(request,{'form': form,'msg' : msg}))
Also you don't even need to assign to request, why can't you just pass it to template e.g.
def update_name(request):
names = Employee.objects.filter()
return render_to_response('chatlist/newchat.html', context_instance=RequestContext(request,{'form': form,'msg' : msg, 'names': names}))
And in the template page you can access request.name, though if you are doing this just to have a variable available in template page, it is not the best way, you can pass context dict to a template page.
Edit: Also note that before using request in template you need to pass it somehow, it is not available by default see http://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With