¿Qué es Flask?
Microframework para Python
Flask es un microframework web para Python, lo que significa que proporciona las herramientas esenciales para construir aplicaciones web sin imponer una estructura rígida o dependencias excesivas. Es ideal para proyectos pequeños y medianos, APIs RESTful y prototipos rápidos.
Ligero y Flexible
Mínima curva de aprendizaje, gran libertad de diseño
Basado en Werkzeug y Jinja2
Utiliza componentes probados para WSGI y plantillas
Extensible
Gran ecosistema de extensiones para añadir funcionalidades
Fácil de Usar
Sintaxis intuitiva y documentación clara
Hola Mundo en Flask
# app.py
from flask import Flask, render_template, request, redirect, url_for, flash, jsonify
app = Flask(__name__)
app.config["SECRET_KEY"] = "una_clave_secreta_muy_segura"
@app.route("/")
def index():
return "¡Hola, mundo desde Flask!
"
@app.route("/saludar/")
def saludar(nombre):
return f"¡Hola, {nombre}! Bienvenido a Flask.
"
@app.route("/suma//")
def suma(a, b):
resultado = a + b
return f"La suma de {a} y {b} es: {resultado}
"
@app.route("/contacto", methods=["GET", "POST"])
def contacto():
if request.method == "POST":
nombre = request.form["nombre"]
email = request.form["email"]
mensaje = request.form["mensaje"]
flash(f"Mensaje de {nombre} ({email}) recibido: {mensaje}", "success")
return redirect(url_for("index"))
return render_template("contacto.html")
@app.route("/api/data")
def api_data():
data = {
"nombre": "API de Ejemplo",
"version": "1.0",
"recursos": [
{"id": 1, "item": "Elemento A"},
{"id": 2, "item": "Elemento B"}
]
}
return jsonify(data)
if __name__ == "__main__":
app.run(debug=True)