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
#!/usr/bin/env python # -*- coding: utf-8 -*- from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^popupRechazar/?$', 'recaudos.views.popupRechazar'), (r'^guardarMotivo/?$', 'recaudos.views.guardarRechazo'), )
forms.py
Código Python:
Ver original
class PopupRechazar(forms.Form): title_motivo_rechazo = 'Describa el motivo del rechazo' campo_rechazo = forms.CharField(widget=forms.Textarea(attrs={'cols':58,'rows':9}))
views.py
Código Python:
Ver original
#@login_required def guardarRechazo(request): fecha = datetime.now() print 'Estoy aqui en guardar rechazo' if request.method == 'GET': formulario = PopupRechazar(data = request.GET) if formulario.is_valid(): motivo = str(request.GET['campo_rechazo']) print "aqui se muestra el motivo..." + str(motivo) # Aqui empezaria a guardar la data del campo. return render_to_response('recaudos/mensaje.html', {'form': formulario, 'mensaje2': True,'username': request.user, 'title_page':'Verif. Recaudos'}, context_instance = RequestContext(request)) #motivo = str(request.GET['campo_rechazo']) else: print 'Ocurrio un error' 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>
Gracias de antemano por sus respuestas