En esta sección, aprenderás a crear tu primera aplicación Flask desde cero. Este es un paso fundamental para familiarizarte con la estructura básica y el flujo de trabajo de una aplicación Flask.
Objetivos
- Instalar Flask en tu entorno de desarrollo.
- Crear una aplicación Flask básica.
- Ejecutar la aplicación en un servidor de desarrollo.
- Entender el flujo básico de una aplicación Flask.
Paso 1: Instalación de Flask
Antes de comenzar, asegúrate de tener Python instalado en tu sistema. Puedes verificarlo ejecutando el siguiente comando en tu terminal o línea de comandos:
Si Python está instalado, deberías ver la versión de Python. Si no está instalado, descárgalo e instálalo desde python.org.
Instalación de Flask
-
Crear un Entorno Virtual: Es una buena práctica crear un entorno virtual para tu proyecto. Esto te permite gestionar las dependencias de tu proyecto de manera aislada.
python -m venv venv
Activa el entorno virtual:
- En Windows:
venv\Scripts\activate
- En macOS/Linux:
source venv/bin/activate
- En Windows:
-
Instalar Flask: Con el entorno virtual activado, instala Flask usando
pip
.pip install Flask
Paso 2: Crear una Aplicación Flask Básica
-
Crear el Archivo Principal: Crea un archivo llamado
app.py
. Este archivo contendrá el código de tu aplicación Flask.from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run(debug=True)
Explicación del Código
- Importar Flask: Importamos la clase
Flask
del móduloflask
. - Crear una Instancia de Flask:
app = Flask(__name__)
crea una instancia de la claseFlask
. El argumento__name__
es el nombre del módulo actual. - Definir una Ruta:
@app.route('/')
es un decorador que asocia la URL'/'
con la funciónhello_world
. Cuando un usuario visita la URL raíz (/
), la funciónhello_world
se ejecuta y devuelve'Hello, World!'
. - Ejecutar la Aplicación:
app.run(debug=True)
inicia el servidor de desarrollo de Flask. El argumentodebug=True
habilita el modo de depuración, lo que es útil durante el desarrollo.
Paso 3: Ejecutar la Aplicación
Para ejecutar tu aplicación, abre una terminal, navega al directorio donde se encuentra app.py
y ejecuta:
Deberías ver una salida similar a esta:
* Serving Flask app "app" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: on * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 123-456-789
Abre tu navegador web y visita http://127.0.0.1:5000/
. Deberías ver el mensaje "Hello, World!".
Ejercicio Práctico
Ejercicio 1: Modificar la Respuesta
Modifica la función hello_world
para que devuelva un mensaje diferente, por ejemplo, "¡Hola, Mundo!".
Solución
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return '¡Hola, Mundo!' if __name__ == '__main__': app.run(debug=True)
Ejercicio 2: Añadir una Nueva Ruta
Añade una nueva ruta a tu aplicación que responda a la URL /about
con el mensaje "Esta es la página About".
Solución
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return '¡Hola, Mundo!' @app.route('/about') def about(): return 'Esta es la página About' if __name__ == '__main__': app.run(debug=True)
Resumen
En esta sección, has aprendido a:
- Instalar Flask en tu entorno de desarrollo.
- Crear una aplicación Flask básica.
- Ejecutar la aplicación en un servidor de desarrollo.
- Definir rutas y manejar solicitudes HTTP.
Ahora que tienes una comprensión básica de cómo crear y ejecutar una aplicación Flask, estás listo para profundizar en los conceptos básicos de Flask en el siguiente módulo.
Curso de Desarrollo Web con Flask
Módulo 1: Introducción a Flask
- ¿Qué es Flask?
- Configuración de tu Entorno de Desarrollo
- Creando tu Primera Aplicación Flask
- Entendiendo la Estructura de una Aplicación Flask
Módulo 2: Conceptos Básicos de Flask
- Enrutamiento y Mapeo de URLs
- Manejo de Métodos HTTP
- Renderizando Plantillas con Jinja2
- Trabajando con Archivos Estáticos
Módulo 3: Formularios y Entrada de Usuario
Módulo 4: Integración de Bases de Datos
- Introducción a Flask-SQLAlchemy
- Definiendo Modelos
- Realizando Operaciones CRUD
- Migraciones de Base de Datos con Flask-Migrate
Módulo 5: Autenticación de Usuarios
- Registro de Usuarios
- Inicio y Cierre de Sesión de Usuarios
- Hashing de Contraseñas
- Gestión de Sesiones de Usuario
Módulo 6: Conceptos Avanzados de Flask
- Blueprints para Aplicaciones Grandes
- Manejo de Errores
- Páginas de Error Personalizadas
- Registro y Depuración
Módulo 7: APIs RESTful con Flask
- Introducción a las APIs RESTful
- Creación de Endpoints RESTful
- Manejo de Datos JSON
- Autenticación para APIs
Módulo 8: Despliegue y Producción
- Configuración de Flask para Producción
- Despliegue en Heroku
- Despliegue en AWS
- Monitoreo y Optimización del Rendimiento
Módulo 9: Pruebas y Mejores Prácticas
- Pruebas Unitarias con Flask
- Pruebas de Integración
- Cobertura de Pruebas
- Mejores Prácticas para el Desarrollo con Flask