Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/06/2013, 20:00
ososo86
 
Fecha de Ingreso: diciembre-2011
Ubicación: Temuco
Mensajes: 15
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Django - pasar datos Post

razpeitia gracias por tu pronta respuesta, entiendo lo de GET y te encuentro razón, solo me queda una duda donde yo le indico donde quiero que me redireccione si el formulario es valido, por que en el tag ACCTION del FORM en HTML si yo pongo la vista funciona pero no me valida el formulario.

Eso y Gracias


Cita:
Iniciado por razpeitia Ver Mensaje
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.