Introducción

Flask es un microframework para el desarrollo de aplicaciones web en Python. Fue creado por Armin Ronacher y es conocido por su simplicidad y flexibilidad. A diferencia de otros frameworks más grandes como Django, Flask no viene con muchas funcionalidades preconfiguradas, lo que permite a los desarrolladores tener un mayor control sobre la estructura y el comportamiento de sus aplicaciones.

Características Clave de Flask

  1. Ligero y Modular: Flask es un microframework, lo que significa que es ligero y no incluye muchas funcionalidades por defecto. Esto permite a los desarrolladores agregar solo los componentes que necesitan.
  2. Flexibilidad: Flask no impone una estructura rígida, lo que permite a los desarrolladores organizar su código de la manera que prefieran.
  3. Extensible: Flask tiene un ecosistema rico de extensiones que pueden agregar funcionalidades como autenticación, manejo de formularios, y más.
  4. Soporte para Jinja2: Flask utiliza Jinja2 como su motor de plantillas, lo que permite a los desarrolladores crear plantillas HTML dinámicas.
  5. Desarrollo Rápido: Gracias a su simplicidad y flexibilidad, Flask permite un desarrollo rápido y eficiente de aplicaciones web.

Comparación con Otros Frameworks

Característica Flask Django
Tipo Microframework Full-stack
Configuración Mínima Extensa
Flexibilidad Alta Moderada
Extensiones Muchas Integradas
Curva de Aprendizaje Baja Moderada/Alta

Ejemplo Básico de una Aplicación Flask

A continuación, se muestra un ejemplo básico de una aplicación Flask para ilustrar su simplicidad y facilidad de uso.

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

  1. Importación de Flask: from flask import Flask

    • Importamos la clase Flask del módulo flask.
  2. Creación de la Aplicación: app = Flask(__name__)

    • Creamos una instancia de la clase Flask. El argumento __name__ le dice a Flask dónde encontrar los archivos y recursos de la aplicación.
  3. Definición de una Ruta: @app.route('/')

    • Utilizamos el decorador @app.route('/') para definir una ruta. En este caso, la ruta es la raíz ('/') de la aplicación.
  4. Definición de una Función de Vista: def hello_world():

    • Definimos una función llamada hello_world que se ejecutará cuando se acceda a la ruta '/'. Esta función devuelve la cadena 'Hello, World!'.
  5. Ejecución de la Aplicación: if __name__ == '__main__': app.run(debug=True)

    • Si el archivo se ejecuta directamente, se inicia el servidor de desarrollo de Flask con app.run(debug=True). El modo debug=True permite la recarga automática y proporciona un depurador interactivo en caso de errores.

Ejercicio Práctico

Ejercicio 1: Crear una Aplicación Flask Básica

Objetivo: Crear una aplicación Flask que tenga dos rutas: una para la página de inicio y otra para una página de "Acerca de".

Instrucciones:

  1. Crea un archivo llamado app.py.
  2. Importa Flask y crea una instancia de la aplicación.
  3. Define dos rutas: una para la página de inicio ('/') y otra para la página de "Acerca de" ('/about').
  4. En la ruta de la página de inicio, devuelve el mensaje 'Welcome to the Home Page!'.
  5. En la ruta de la página de "Acerca de", devuelve el mensaje 'This is the About Page.'.
  6. Ejecuta la aplicación en modo de depuración.

Solución:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return 'Welcome to the Home Page!'

@app.route('/about')
def about():
    return 'This is the About Page.'

if __name__ == '__main__':
    app.run(debug=True)

Retroalimentación y Consejos

  • Error Común: Olvidar ejecutar la aplicación con app.run(). Asegúrate de incluir este bloque de código para que Flask inicie el servidor.
  • Consejo: Utiliza nombres descriptivos para tus funciones de vista para que el código sea más legible y mantenible.

Conclusión

En esta lección, hemos aprendido qué es Flask, sus características clave, y cómo se compara con otros frameworks como Django. También hemos visto un ejemplo básico de una aplicación Flask y hemos realizado un ejercicio práctico para reforzar los conceptos aprendidos. En la próxima lección, configuraremos nuestro entorno de desarrollo para empezar a trabajar con Flask de manera más eficiente.

Curso de Desarrollo Web con Flask

Módulo 1: Introducción a Flask

Módulo 2: Conceptos Básicos de Flask

Módulo 3: Formularios y Entrada de Usuario

Módulo 4: Integración de Bases de Datos

Módulo 5: Autenticación de Usuarios

Módulo 6: Conceptos Avanzados de Flask

Módulo 7: APIs RESTful con Flask

Módulo 8: Despliegue y Producción

Módulo 9: Pruebas y Mejores Prácticas

Módulo 10: Extensiones y Ecosistema de Flask

© Copyright 2024. Todos los derechos reservados