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()
@app.route('/saludo',methods=['GET'])
def formulario():
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.
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.
nombre = request.args.get('nombre')
En caso de que falle volvemos a pintar el formulario:
@app.route('/saludo',methods=['GET'])
def formulario():
try:
nombre = request.args.get('nombre')
except:
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:
@app.route('/saludo',methods=['GET'])
def formulario():
#Comprobamos si viene el parametro por GET
try:
nombre = request.args.get('nombre')
if (nombre != ''):
return 'Hola ' + nombre
else:
return render_template('formulario_get.html')
except:
return render_template('formulario_get.html')
De esta forma ya hemos visto lo sencillo que es manejar parámetros GET con Flask.