Misión 3 · Lección 2

Rutas y Vistas en Flask

Objetivos

Desarrollo de Aplicaciones Web con Flask

Flask es un microframework para Python que facilita la creación de aplicaciones web ligeras, flexibles y escalables.

Rutas Básicas

@app.route("/")
def home():
    return "Bienvenido a la página principal"

Las rutas asocian una URL con una función de Python.

Vistas que devuelven HTML

from flask import render_template

@app.route("/about")
def about():
    return render_template("about.html")

Los archivos HTML se guardan en la carpeta /templates.

Parámetros en Rutas

@app.route("/user/<nombre>")
def usuario(nombre):
    return f"Hola {nombre}!"

Permite rutas dinámicas como /user/Ana o /user/Juan.

Tipos de Parámetros

@app.route("/post/<int:id>")
def post(id):
    return f"Mostrando post {id}"

Parámetros de Consulta (Query Params)

from flask import request

@app.route("/search")
def search():
    q = request.args.get("q")
    return f"Buscando: {q}"

Se llaman con URL tipo: /search?q=flask

Métodos HTTP

@app.route("/login", methods=["GET", "POST"])
def login():
    if request.method == "POST":
        return "Procesando login"
    return "Formulario de login"

Respuestas en JSON

@app.route("/api/info")
def info():
    return jsonify({"curso": "Flask", "nivel": "intermedio"})

Redirecciones

from flask import redirect, url_for

@app.route("/old")
def old():
    return redirect(url_for("home"))

Redirige a la ruta home.

Ejercicio Guiado

  1. Crea una ruta / que devuelva “Inicio”.
  2. Agrega una ruta /user/<nombre> que muestre un saludo.
  3. Crea una ruta /search que use query params.
  4. Agrega una ruta /login que acepte GET y POST.