Parámetros GET con Flask

31/Mar/2016 Python Deja un comentario

Crear una aplicación web y pasar parámetros entre las páginas es la acción más normal. Aquí vamos a explicar cómo manejar parámetros GET con Flask.

Lo primero de todo será crear una ruta que nos pinte un formulario. Esta ruta lo que hace es renderizar un template con un formulario mediante el método render_template()

  1. @app.route('/saludo',methods=['GET'])
  2. def formulario():
  3. return render_template('formulario_get.html')

El formulario no deja de ser un formulario HTML. Eso sí, el método de envío es GET y el destino o atributo action será la misma ruta.

  1. <form action="/saludo" method="get">
  2. <label for="nombre">Nombre</label>
  3. <input type="text" id="nombre" name="nombre"><br/>
  4. <input type="submit" value="Enviar" />
  5. </form>

Ahora deberemos de modificar nuestra ruta para ver si vienen parámetros. Ya que si no vienen parámetros volveremos a pintar el formulario. Para poder recuperar los parámetros GET con Flask manipulamos el objeto request.arg. En concreto el método .get(). Dicho método recibirá como valor el nombre del parámetro del formulario.

  1. nombre = request.args.get('nombre')

En caso de que falle volvemos a pintar el formulario:

  1. @app.route('/saludo',methods=['GET'])
  2. def formulario():
  3. try:
  4. nombre = request.args.get('nombre')
  5. except:
  6. return render_template('formulario_get.html')

Y si queremos controlar algo más, si el parámetro GET viene vacío también volvemos a pintar el formulario:

  1. @app.route('/saludo',methods=['GET'])
  2. def formulario():
  3.  
  4. #Comprobamos si viene el parametro por GET
  5. try:
  6. nombre = request.args.get('nombre')
  7.  
  8. if (nombre != ''):
  9. return 'Hola ' + nombre
  10. else:
  11. return render_template('formulario_get.html')
  12. except:
  13. return render_template('formulario_get.html')

De esta forma ya hemos visto lo sencillo que es manejar parámetros GET con Flask.

Vídeos sobre Flask


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*