El procesamiento de datos de formularios en una aplicación Flask implica recoger los datos enviados por el usuario a través de un formulario HTML y luego realizar acciones específicas en función de esos datos. Flask proporciona herramientas para acceder y procesar estos datos fácilmente.
Paso 1: Crear un Formulario HTML
Primero, debes crear un formulario HTML en una plantilla. Aquí tienes un ejemplo básico de un formulario HTML que solicita un nombre:
formulario.html
<!DOCTYPE html>
<html>
<head>
<title>Formulario</title>
</head>
<body>
<h1>Formulario</h1>
<form method="POST" action="/procesar">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre">
<input type="submit" value="Enviar">
</form>
</body>
</html>
Paso 2: Definir una Ruta para Procesar el Formulario
En tu aplicación Flask, define una ruta que maneje la solicitud POST del formulario. Debes importar request
de Flask para acceder a los datos del formulario:
app.py
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/')
def formulario():
return render_template('formulario.html')
@app.route('/procesar', methods=['POST'])
def procesar():
nombre = request.form['nombre']
return f'Hola, {nombre}'
if __name__ == '__main__':
app.run()
En este ejemplo, hemos definido una ruta /procesar
que responde solo a solicitudes POST. Dentro de la función de vista procesar()
, accedemos al valor del campo nombre
del formulario usando request.form['nombre']
.
Paso 3: Procesar los Datos del Formulario
Dentro de la función de vista procesar()
, puedes realizar acciones específicas con los datos del formulario. En este caso, estamos simplemente devolviendo un saludo personalizado con el nombre proporcionado en el formulario.
Paso 4: Ejecutar la Aplicación
Ejecuta tu aplicación Flask con python app.py
y luego visita http://localhost:5000/
en tu navegador. Completa el formulario y haz clic en «Enviar». Verás un mensaje de saludo con el nombre que ingresaste.
Este es un ejemplo simple de cómo procesar datos de formularios en Flask. Puedes extenderlo para realizar acciones más complejas, validar los datos del formulario y almacenarlos en una base de datos u otro sistema según las necesidades de tu aplicación.