Café y Código

4. Formularios y Peticiones

El objeto global request

Flask provee el objeto global request que contiene toda la información de la petición HTTP recibida por el servidor (datos de formulario, parámetros de URL, headers, archivos, etc.).

  • request.form: Diccionario con los datos enviados desde un formulario POST.
  • request.args: Diccionario con los parámetros de consulta de la URL (query params en GET).
  • request.method: El método HTTP utilizado ('GET', 'POST', etc.).

Procesar un formulario POST

Para recibir datos de un formulario HTML, la ruta debe aceptar el método POST y extraer los valores con request.form['campo'] o request.form.get('campo').

contacto.py
PYTHON
1from flask import Flask, redirect, render_template, request, url_for
2
3app = Flask(__name__)
4
5
6@app.route('/contacto', methods=['GET', 'POST'])
7def contacto():
8 if request.method == 'POST':
9 nombre = request.form.get('nombre')
10 email = request.form.get('email')
11 mensaje = request.form.get('mensaje')
12
13 # Procesar o guardar información...
14 print(f'Mensaje de {nombre} ({email}): {mensaje}')
15
16 return redirect(url_for('gracias'))
17
18 return render_template('contacto.html')
19
20
21@app.route('/gracias')
22def gracias():
23 return '<h1>¡Gracias por contactarnos!</h1>'

Parámetros en URL (Query Parameters)

Cuando la URL incluye parámetros como /buscar?q=flask&categoria=web, se leen utilizando request.args.get():

busqueda.py
PYTHON
1@app.route('/buscar')
2def buscar():
3 query = request.args.get('q', '')
4 categoria = request.args.get('categoria', 'todas')
5 return f'Buscando "{query}" en la categoría "{categoria}"'

Ponte a prueba

Comprueba que entiendes el manejo de peticiones y formularios en Flask.

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.