6

En Django, deseo agregar una variable a la solicitud. es decir,Agregue una variable para solicitarla en django

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})) 

¿Es esta la manera correcta de agregar una variable a la solicitud? Si no, ¿cómo debería hacerlo?

Además, ¿cómo puedo recuperar el mismo valor en la página de plantillas? es decir,

alert ("{{request.names['somename']}}"); 

Respuesta

9

El ejemplo que ha dado es incorrecto porque

  1. no hay ninguna función request.update
  2. está usando el name variable que no ha asignado ninguna parte?

De todos modos, en python puede simplemente asignar atributos, p.

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})) 

Además, ni siquiera necesita asignar para solicitar, ¿por qué no puede simplemente pasarlo a la plantilla, p.

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})) 

Y en la página de la plantilla se puede acceder a request.name, aunque si usted está haciendo esto sólo para tener una variable disponible en página de la plantilla, no es la mejor manera, puede pasar dict contexto de una plantilla página.

Editar: También tenga en cuenta que antes de usar solicitud de plantilla que necesita para pasar de alguna manera, no está disponible por defecto ver http://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext

+0

Sí de hecho, pero no podía recuperar el mismo en las ideas plantillas page.Any por qué ?? – Rajeev

+0

request.name en la página de la plantilla muestra vacío .. – Rajeev

+0

@Rajeev, necesito ver un código –

Cuestiones relacionadas