Formularios con Webapp2 en Google App Engine

Los formularios son uno de los elementos básicos que toda página web ofrece. En esta nota aprenderemos como obtener los datos de un formulario HTML en una aplicación GAE en Python y Webapp2.

Ejemplo


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import webapp2

class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write("<html><body>")
        # inicio de formulario
        self.response.write("<form method='POST'>")
        # campo de texto
        self.response.write("<label>Nombre:</label> "
        					"<input name='nombre' placeholder='Nombre'> <br>")
        #campo tipo radio
        self.response.write("<label>Genero:</label>"
        					"<br> <label><input type='radio' name='genero' value='M'> Masculino</label>"
        					"<br> <label><input type='radio' name='genero' value='F'> Femenino</label>")
        # campo tipo select
        self.response.write("<br> <label>Año de nacimiento:</label> <br>"
        					"<select name='nacimiento'>"
        					"<option value='1993'>1993</option>"
        					"<option value='1994'>1994</option>"
        					"<option value='1995'>1995</option>"
        					"<option value='1996'>1996</option>"
        					"<option value='1997'>1997</option>"
        					"</select>")
        # botón de envio
        self.response.write("<br> <input type='submit'>")
        # final de formulario
        self.response.write("</form>")
        self.response.write("</body></html>")

    def post(self):
    	self.response.write("<html><body>")
    	self.response.write('<h1>Formulario recibido correctamente</h1>')
    	self.response.write("Nombre: %s <br>" % self.request.get('nombre'))
    	self.response.write("Genero: %s <br>" % self.request.get('genero'))
    	self.response.write("Anio de nacimiento: %s <br>" % self.request.get('nacimiento'))
    	self.response.write("<a href='/'><< Regresar</a>")
    	self.response.write("</body></html>")


app = webapp2.WSGIApplication([
    ('/', MainHandler)
], debug=True)


Este ejemplo consta de un formulario simple que se sirve en la url “/” que solicita datos mediante controles de texto, radio y select.

Formulario simple GAE

que son enviados con post a la misma url “/” pero ahora con el método “post” y se muestran de la siguiente forma:

Formulario simple GAE

Vemos que para obtener los parámetros enviados en la petición HTTP se usa

    self.request.get('nombreParametro')

No importa si los parámetros vienen en la url o en el cuerpo de la petición (POST), el mismo método sirve para todos los casos.

2 thoughts on “Formularios con Webapp2 en Google App Engine

  1. hola como estas graias por ños tutoriales
    tengo un problema en el ejemplo de los formularios veo que te funciona pero ami no el post no me funciona en el methodo get si pero post no serias tan amable de explicarme o actualizar el tutorial para ver cual es mi error

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *