Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2011, 09:20
Avatar de antonyshawn
antonyshawn
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 15 años, 11 meses
Puntos: 0
Obtener Parámetros desde Popup (Python + Django )

Hola buenos días, estoy en un proyecto donde se esta desarrollando en Python usando Django, y normalmente programo en PHP.

Mi duda esta al momento de capturar la data que escribo en un textarea que tengo en un Popup, no hemos tenido problemas capturando de página en página pero el problema se presenta en el Popup. El error que me da es el siguiente:

MultiValueDictKeyError at /recaudos/guardarMotivo
Key 'campo_rechazo' not found in <QueryDict: {}>

Mi código es el siguiente:

urls.py
Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. from django.conf.urls.defaults import *
  4.  
  5. urlpatterns = patterns('',
  6.    (r'^popupRechazar/?$', 'recaudos.views.popupRechazar'),
  7.    (r'^guardarMotivo/?$', 'recaudos.views.guardarRechazo'),
  8. )


forms.py
Código Python:
Ver original
  1. class PopupRechazar(forms.Form):
  2.     title_motivo_rechazo = 'Describa el motivo del rechazo'
  3.     campo_rechazo = forms.CharField(widget=forms.Textarea(attrs={'cols':58,'rows':9}))

views.py
Código Python:
Ver original
  1. #@login_required
  2. def guardarRechazo(request):
  3.     fecha = datetime.now()
  4.     print 'Estoy aqui en guardar rechazo'
  5.     if request.method == 'GET':
  6.         formulario = PopupRechazar(data = request.GET)
  7.         if formulario.is_valid():
  8.             motivo = str(request.GET['campo_rechazo'])
  9.             print "aqui se muestra el motivo..." + str(motivo)
  10.             # Aqui empezaria a guardar la data del campo.
  11.             return render_to_response('recaudos/mensaje.html', {'form': formulario, 'mensaje2': True,'username': request.user, 'title_page':'Verif. Recaudos'}, context_instance = RequestContext(request))
  12.             #motivo = str(request.GET['campo_rechazo'])
  13.         else:
  14.             print 'Ocurrio un error'
  15.             return render_to_response('recaudos/mensaje.html', {'form': formulario, 'mensaje2': True,'username': request.user, 'title_page':'Verif. Recaudos'}, context_instance = RequestContext(request))

popupRechazar.html
Código HTML:
{% extends "base_formulario.html" %}
{% block head %}
<script type="text/javascript">
	function guardar(name){
		document.getElementById(name).href="{% url recaudos.views.guardarRechazo %}";
		$('#items_recaudos2').click();
    }
</script>
{% endblock head %}

<form id="forma"  class="wufoo" method="get">
<table>
     <tr>
          <td align="center">
               {{form.title_motivo_rechazo}}
          </td>
          <td align="center">
               {{form.campo_rechazo}}
          </td>
     </tr>
</table>
<a name="guardar" id ="guardar" onclick="guardar(this.id)"> <input  class="btTxt" type="button" value="Guardar" /> </a>
</form> 
Espero sea útil el código, mi pregunta es ¿Cómo capturo esa info que escribo en el Textarea? Con eso resolvería todo =/

Gracias de antemano por sus respuestas

Última edición por AlvaroG; 06/05/2011 a las 07:54 Razón: resaltado de código