Flask es uno de los frameworks de desarrollo web más populares y ligeros para Python. A diferencia de otros frameworks más completos como Django, Flask se caracteriza por su enfoque minimalista, dándote la libertad de construir tu aplicación de la manera que prefieras, con solo las herramientas esenciales. Si alguna vez has querido crear tu propia aplicación web desde cero usando Python, Flask es el punto de partida perfecto.
Flask es un framework web micro basado en Python, diseñado para ser simple y flexible, que ha ganado una amplia adopción por su facilidad de uso y su capacidad para escalar desde aplicaciones simples hasta sistemas complejos.
La filosofía de Flask es "micro" en el sentido de que proporciona solo las funcionalidades básicas necesarias para construir una aplicación web. No incluye componentes como autenticación de usuarios, manejo de formularios o un ORM (Object-Relational Mapper) por defecto, lo que te da la libertad de elegir las herramientas adicionales que mejor se adapten a tu proyecto.
El primer paso para crear una aplicación web con Flask es instalar el framework. Esto se hace fácilmente con el gestor de paquetes pip:
pip install Flask
Una vez instalado, puedes crear tu primer proyecto Flask con unas pocas líneas de código. Aquí tienes un ejemplo básico:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hola_mundo():
return '¡Hola, Mundo!'
if __name__ == '__main__':
app.run(debug=True)
- `from flask import Flask`: Importamos el objeto principal de Flask. Esta es la base de cualquier aplicación Flask.
- `app = Flask(__name__)`: Creamos una instancia de la clase Flask. El argumento `__name__` le dice a Flask dónde encontrar recursos como plantillas y archivos estáticos.
- `@app.route('/')`: Definimos una ruta usando el decorador `@route`. Esta ruta define la URL en la que estará disponible la función.
- `def hola_mundo():`: Definimos la función que se ejecutará cuando el usuario acceda a la ruta principal ("/"). En este caso, simplemente devuelve "¡Hola, Mundo!".
- `app.run(debug=True)`: Arrancamos el servidor local con el modo de depuración activado para ver errores en tiempo real.
- Rutas: Flask permite definir fácilmente rutas que representan las diferentes URLs de tu aplicación. Cada ruta está asociada a una función Python que define la lógica de esa página.
- Renderización de Plantillas: Flask soporta la renderización de plantillas HTML usando el motor de plantillas Jinja2. Esto permite crear vistas dinámicas en las que puedes insertar datos dinámicos en las páginas HTML.
from flask import render_template
@app.route('/usuario/<nombre>')
def mostrar_usuario(nombre):
return render_template('usuario.html', nombre=nombre)
- Manejo de Formularios: Flask también facilita el manejo de formularios a través del método POST. Puedes capturar datos enviados por los usuarios y procesarlos de manera sencilla.
A medida que tu aplicación crece, es recomendable estructurarla de manera modular, separando las rutas, modelos y plantillas en diferentes archivos y directorios. Una estructura común es:
my_flask_app/
│
├── app/
│ ├── __init__.py
│ ├── routes.py
│ └── models.py
├── templates/
│ ├── base.html
│ └── index.html
└── main.py
Si tu aplicación se vuelve más grande, puedes dividirla en componentes reutilizables llamados Blueprints. Esto facilita la organización del código.
Usa variables de entorno para configurar aspectos sensibles de tu aplicación, como claves API o la configuración de base de datos. Nunca incluyas estas claves en el código directamente.
¿Listo para comenzar tu primer proyecto Flask? ¡Instálalo y empieza a experimentar!
Puedes conocer todo el contenido que comparto en mi perfil de LinkedIn
Puedes descargar GRATIS mi manual completo en pdf de Python Rápido