Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/06/2013, 18:54
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Django - pasar datos Post

Hay varias cosas aquí.

Cuando implementas una búsqueda no te recomiendo que sea vía POST. Ya que POST esta mas que nada reservado cuando haces modificaciones a los datos cuando aquí lo que quieres es mostrar datos, para esto es recomendado GET. Por que incluso te va a servir para cuando quieras paginar los resultados.

Otra cosa no puedes pasar datos cuando haces un redirect al menos no vía POST. Es una de las restricciones que pone HTTP para que mantengas simple tu diseño.

Quedándote algo mas o menos así:
Código Python:
Ver original
  1. def BuscaProfesional(request):
  2.     form = FormBuscaProfesional(request.GET or None)
  3.     if form.is_valid():
  4.         nombre = form.cleaned_data['nombre']
  5.         datos = Profesional.objects.filter(nombre__icontains=nombre)
  6.     return render_to_response('busca_profesional.html', locals(), context_instance=RequestContext(request))

Solamente en tu form tag cambias method="GET" en lugar de POST.