Iniciadores Rápidos

¿Cómo construir un backend para Flask?

41min

Introducción

En este tutorial, aprenderás cómo construir un backend para Flask utilizando Back4App.

Flask es un framework de backend ligero que maneja solicitudes HTTP con facilidad, y funciona de manera eficiente en modo de depuración durante el desarrollo.

Recorreremos la integración de características esenciales de Back4App, como la gestión de bases de datos, funciones de Cloud Code, APIs REST y GraphQL, autenticación de usuarios y consultas en tiempo real (Live Queries), para crear un backend seguro, escalable y robusto para tu aplicación Flask.

También verás cómo la configuración rápida de Back4App y su entorno intuitivo pueden reducir drásticamente el tiempo y el esfuerzo en comparación con la configuración manual de servidores y bases de datos.

Usaremos código Python para conectar Flask al servidor Parse de Back4App. A lo largo del camino, adquirirás experiencia práctica con funcionalidades clave, incluyendo características de seguridad avanzadas, programación de tareas con Cloud Jobs y configuración de webhooks para integraciones externas.

Al final de este tutorial, estarás bien preparado para mejorar esta configuración básica en una aplicación lista para producción o incorporar fácilmente lógica personalizada y APIs de terceros según sea necesario.

Requisitos previos

Para completar este tutorial, necesitarás:

  • Una cuenta de Back4app y un nuevo proyecto de Back4app Comenzando con Back4app. Si no tienes una cuenta, puedes crear una gratis. Sigue la guía anterior para preparar tu proyecto.
  • Entorno de desarrollo básico de Flask Puedes instalar Flask a través de pip install flask. Asegúrate de tener Python 3.7+ instalado en tu máquina.
  • pip install parse Este paquete de Python permite que tu aplicación Flask interactúe con el servidor Parse de Back4App.
  • Familiaridad con conceptos de Python y Flask Documentación oficial de Flask. Si eres nuevo en Flask, revisa la documentación oficial o un tutorial para principiantes antes de comenzar.

Asegúrate de tener todos estos requisitos previos en su lugar antes de comenzar. Tener tu proyecto de Back4app configurado y tu entorno local de Flask listo te ayudará a seguir más fácilmente.

Paso 1 – Crear un nuevo proyecto en Back4App y conectarse

Crear un nuevo proyecto

El primer paso para construir tu backend de Flask en Back4App es crear un nuevo proyecto. Si aún no has creado uno, sigue estos pasos:

  1. Inicia sesión en tu cuenta de Back4App.
  2. Haz clic en el botón “Nueva App” en tu panel de control de Back4App.
  3. Dale un nombre a tu app (por ejemplo, “Flask-Backend-Tutorial”).
Document image


Una vez que se crea el proyecto, lo verás listado en tu panel de control de Back4app. Este proyecto es la base de todas las configuraciones del backend.

Conectar el SDK de Parse a Flask

Back4App se basa en la Plataforma Parse para gestionar tus datos, proporcionar características en tiempo real, manejar la autenticación de usuarios y más.

Conectar tu aplicación Flask a Back4App implica instalar el parse paquete de Python e inicializarlo con las credenciales de tu panel de control de Back4App.

Recupera tus Claves de Parse: En tu panel de Back4app, navega a la sección “Configuración de la App” o “Seguridad y Claves” para encontrar tu ID de Aplicación y Clave de Cliente (o Clave de API REST si es necesario). También encontrarás la URL del Servidor Parse (a menudo en el formato https://parseapi.back4app.com).

Document image


Instala el SDK de Python de Parse en tu entorno Flask ejecutando:

Bash


Inicializa Parse en tu aplicación Flask: Crea un archivo (por ejemplo, parse_config.py) en un directorio llamado app o donde sea que almacenes tus módulos de backend:

parse_config.py


Luego, en su archivo principal de la aplicación Flask (por ejemplo, app.py), puede importar módulos de la aplicación flask junto con su configuración de Parse:

Python


Al completar este paso, ha establecido una conexión segura entre sus rutas front-end de Flask y el backend de Back4App. Todas las solicitudes y transacciones de datos se enrutan de manera segura a través del código Python de Parse, reduciendo la complejidad de las llamadas REST o GraphQL manuales (aunque aún puede usarlas cuando sea necesario).

Paso 2 – Configuración de la Base de Datos

Creando un Modelo de Datos

Antes de comenzar, hablemos sobre la configuración de la base de datos. Puede diseñar su esquema de datos en el panel de control de Back4App o dejar que Parse lo cree sobre la marcha. Por ejemplo, podría crear una clase llamada “Todo” con campos como title y isCompleted.

  1. Navegue a la sección “Base de Datos” en su panel de control de Back4App.
  2. Cree una nueva clase (por ejemplo, “Todo”) y agregue columnas relevantes, como title (String) y isCompleted (Boolean).
Crear nueva clase
Crear nueva clase


Back4app admite varios tipos de datos, como String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, y Polygon. Puedes elegir el tipo apropiado para cada campo.

Creando un modelo de datos usando el Agente de IA

Si prefieres un enfoque automatizado, también puedes usar el Agente de IA de Back4app:

  1. Abre el Agente de IA desde el panel de control de tu aplicación.
  2. Describe tu modelo de datos en un lenguaje simple (por ejemplo, “Crea una clase ToDo con campos de título y isCompleted en Back4app.”).
  3. Deja que el Agente de IA cree el esquema por ti.
Document image


Leyendo y escribiendo datos usando SDK

En Flask, puedes crear y obtener datos importando parse desde tu parse_config.py inicialización:

Python


Este archivo de la aplicación Flask maneja solicitudes http para crear y leer elementos Todo en tu base de datos Back4App.

Lectura y Escritura de Datos usando REST API

Si prefieres llamadas REST directas, puedes probar con curl desde la línea de comandos:

Bash


Lectura y Escritura de Datos usando GraphQL API

Del mismo modo, Back4app proporciona un endpoint GraphQL. Por ejemplo:

GraphQL


Trabajando con Consultas en Vivo (opcional)

Si necesitas actualizaciones en tiempo real, Back4app proporciona Consultas en Vivo. En un escenario de Flask, normalmente usarías una biblioteca de suscripción del lado del cliente o del servidor que pueda mantener una conexión websocket con el servidor de Consultas en Vivo de Back4App.

  1. Habilitar Consultas en Vivo en tu panel de Back4app bajo la Configuración del Servidor.
  2. Usar un cliente Parse LiveQuery que se conecte a wss://YOUR_SUBDOMAIN_HERE.b4a.io y escuche eventos de crear/actualizar/eliminar.

Paso 3 – Aplicando Seguridad con ACLs y CLPs

Breve resumen

Back4app proporciona Listas de Control de Acceso (ACLs) y Permisos a Nivel de Clase (CLPs) para restringir datos. Las ACLs se aplican a objetos individuales, mientras que los CLPs se aplican a toda la clase. Esto te ayuda a restringir o permitir operaciones de lectura/escritura por usuario, rol o el público.

Document image


Configurando Permisos a Nivel de Clase

  1. Ve a tu panel de Back4app, selecciona tu aplicación y abre la sección de Base de Datos.
  2. Selecciona una clase (por ejemplo, “Todo”).
  3. Abre la pestaña de Permisos a Nivel de Clase.
  4. Configura tus valores predeterminados, como “Requiere Autenticación” o “Sin Acceso.”

Configurando ACLs en código

Puedes aplicar ACLs en el código de Python:

Python


Paso 4 – Escribiendo Funciones de Cloud Code

Por qué Cloud Code

Cloud Code es perfecto para ejecutar código python (o JavaScript en otros escenarios) del lado del servidor, por lo que no tienes que alojar tu propia infraestructura. Puedes ejecutar tareas como validar datos, realizar cálculos complejos o integrarte con servicios externos directamente desde el servidor de Parse.

Función de ejemplo

Debido a que el entorno de Cloud Code predeterminado para Back4App utiliza Node.js, escribirías tu Cloud Code en JavaScript. Sin embargo, aún puedes activar estos scripts del lado del servidor desde tu aplicación Flask. Por ejemplo, una función de Cloud de Node.js podría verse así:

main.js


Despliegue

Usa el Back4app CLI para desplegar tu Cloud Code:

Bash


Alternativamente, puedes desplegar a través del Dashboard de Back4app pegando tu código JS en Cloud Code > Functions y haciendo clic en “Desplegar.”

Document image


Llamando a tu Función

En Flask, puedes llamar a esa función en la nube usando REST:

Python


Paso 5 – Configuración de la Autenticación

Habilitar o configurar la autenticación de usuarios en el panel de Back4App

Back4App aprovecha la User clase por defecto. Parse maneja el hash de contraseñas, los tokens de sesión y el almacenamiento seguro. Puedes gestionar estas características en tu Configuración de la App.

Ejemplos de código

Python


Inicio de sesión social

Back4App y Parse pueden integrarse con proveedores sociales como Google, Apple o Facebook. Los detalles de configuración varían, así que consulta la Documentación de inicio de sesión social de Parse.

Paso 6 – Manejo del Almacenamiento de Archivos

Configurando el Almacenamiento de Archivos

Puedes subir archivos a tu base de datos Parse desde Flask creando un parse.File() objeto en el entorno basado en nodos, o puedes usar llamadas REST directas desde Python. Si almacenas referencias a estos archivos en tus clases, se vuelven fácilmente recuperables.

Python


Ejemplo

Después de subir un archivo, recibirás una URL de archivo que puedes almacenar en tu base de datos. Luego puedes renderizar o referenciar ese archivo en tu plantilla html según sea necesario.

Paso 7 – Verificación de Correo Electrónico y Restablecimiento de Contraseña

Descripción General

La verificación de correo electrónico asegura direcciones de correo válidas, y el restablecimiento de contraseña ayuda a los usuarios a recuperar el acceso a la cuenta de manera segura.

Configuración del Panel de Control de Back4App

  1. Ve a tu Configuración de Correo Electrónico en el panel de control de Back4App.
  2. Habilita la verificación de correo electrónico y configura las plantillas de correo electrónico.
  3. Habilita el restablecimiento de contraseña para enviar enlaces de recuperación de contraseña al correo electrónico del usuario.

Código/Implementación

Una vez habilitado, cualquier nuevo usuario que se registre con un correo electrónico recibe un enlace de verificación. Para el restablecimiento de contraseña, puedes llamar a los métodos integrados de Parse a través de REST o desde tus rutas de Flask.

Paso 8 – Programación de Tareas con Cloud Jobs

Qué hacen los Cloud Jobs

Los trabajos en la nube te permiten programar tareas en segundo plano como limpiar datos o enviar correos electrónicos periódicos. Por ejemplo, puedes eliminar registros antiguos todos los días sin intervención del usuario.

Ejemplo

JS


Luego, desde tu panel de control de Back4App:

  1. Ve a Configuración de la Aplicación > Configuración del Servidor > Trabajos en Segundo Plano.
  2. Programa este trabajo para que se ejecute diariamente o en el intervalo que prefieras.
Programando un Trabajo en la Nube
Programando un Trabajo en la Nube


Paso 9 – Integrando Webhooks

Definición

Webhooks permiten que tu aplicación Back4app envíe datos a servicios externos cada vez que ocurren ciertos desencadenantes. Esto es útil para integraciones con pasarelas de pago, Slack, análisis o cualquier servicio de terceros.

Configuración

  1. Navega a la configuración de Webhooks en tu panel de Back4App > Más > WebHooks.
  2. Agrega un nuevo Webhook.
  3. Establece el endpoint (por ejemplo, https://your-external-service.com/webhook-endpoint).
  4. Selecciona los desencadenantes para los cuales se activará el webhook.
Agregando un Webhook
Agregando un Webhook


Ejemplo

Si deseas notificar a un canal de Slack cada vez que se crea un nuevo registro en “Todo,” establece la URL del webhook de Slack. Luego, cada vez que se guarda un nuevo Todo, Slack recibirá una solicitud POST que contiene sus detalles.

Paso 10 – Explorando el Panel de Administración de Back4App

La Aplicación de Administración de Back4App proporciona una interfaz fácil de usar para los miembros no técnicos de tu equipo. Es una interfaz centrada en el modelo para operaciones CRUD y tareas a nivel empresarial.

Dónde encontrarlo

  1. Ve a tu Panel de Aplicaciones.
  2. Selecciona Más > Aplicación Administrativa y habilítala.
  3. Crea un usuario administrador y elige un subdominio para alojar el panel.
Habilitar Aplicación Administrativa
Habilitar Aplicación Administrativa

Document image

Document image


Una vez habilitado, puedes iniciar sesión con tus credenciales de administrador para gestionar los datos de manera más conveniente—sin escribir puntos finales o consultas personalizadas en tu código Python.

Document image


Conclusión

Al seguir este tutorial completo, has:

  • Creado un backend seguro para una aplicación Flask en Back4App.
  • Configurado una base de datos con esquemas de clase, tipos de datos y relaciones.
  • Integrado consultas en tiempo real (Consultas en Vivo) para actualizaciones de datos inmediatas.
  • Aplicado medidas de seguridad utilizando ACLs y CLPs para proteger y gestionar el acceso a los datos.
  • Implementado funciones de Cloud Code para ejecutar lógica de negocio personalizada en el lado del servidor.
  • Configurado la autenticación de usuarios con soporte para verificación de correo electrónico y restablecimiento de contraseñas.
  • Gestionado cargas de archivos y recuperación, con controles de seguridad de archivos opcionales.
  • Programado trabajos en la nube para tareas automatizadas en segundo plano.
  • Usado Webhooks para integrarse con servicios externos.
  • Explorado el Panel de Administración de Back4App para la gestión de datos.

Con un sólido framework de backend Flask que puede devolver archivos de plantilla renderizados (si se desea) y una robusta configuración de Back4App, ahora estás equipado para desarrollar aplicaciones ricas en características, escalables y seguras.

Puedes ejecutar tu flask run comando para iniciar el servidor de desarrollo y continuar programando.

La línea de comandos las tareas se vuelven sencillas con métodos post def rutas que aceptan cargas útiles JSON.

Próximos pasos

  • Construir una aplicación Flask lista para producción ampliando este backend para manejar modelos de datos más complejos, estrategias de caché y optimizaciones de rendimiento.
  • Integrar características avanzadas como flujos de autenticación especializados, control de acceso basado en roles o APIs externas (como pasarelas de pago).
  • Consulta la documentación oficial de Back4app para profundizar en seguridad avanzada, ajuste de rendimiento y análisis de registros.
  • Explora otros tutoriales sobre aplicaciones de chat en tiempo real, paneles de IoT o servicios basados en ubicación. Puedes combinar las técnicas aprendidas aquí con APIs de terceros para crear aplicaciones complejas del mundo real.