Quickstarters
Feature Overview
How to Build a Backend for Python?
41 min
introducción en este tutorial paso a paso, aprenderás a construir un backend completo para aplicaciones de python utilizando back4app 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, para crear un backend seguro, escalable y robusto que se comunique sin problemas con tu código python python es una opción popular entre los lenguajes de programación para el desarrollo de backend porque ofrece simplicidad y la capacidad de mantener el lado del servidor con facilidad frameworks y bibliotecas como django, flask y más han hecho de python una opción preferida para los procesos de desarrollo web al aprovechar back4app, un desarrollador de python puede configurar rápidamente el esquema de la base de datos, garantizar la integridad de los datos e incluso incorporar tareas de aprendizaje automático sin tener que gestionar una infraestructura compleja a lo largo del camino, obtendrás experiencia práctica con funcionalidades clave, como 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 estructura fundamental en una aplicación de backend de python lista para producción o integrarte fácilmente con otras herramientas como docker y kubernetes a medida que tu proyecto crezca esto dará un impulso a tu viaje de desarrollo de backend en python utilizando una plataforma confiable y bibliotecas robustas de python requisitos previos para completar este tutorial, necesitarás una cuenta de back4app y un nuevo proyecto de back4app comenzando con back4app https //www back4app com/docs/get started/new parse app regístrate gratis si aún no lo has hecho y crea un nuevo proyecto python 3 x instalado asegúrate de tener python 3 x configurado en tu máquina descargar python https //www python org/downloads/ el sdk de parse para python instala a través de pip con pip install parse rest usaremos este sdk para interacciones de datos familiaridad con conceptos básicos de python si eres nuevo en python, revisa la documentación oficial de python https //docs python org/3/ o un tutorial para principiantes tener estos requisitos previos asegurará que puedas seguir mientras exploramos cómo construir un backend para python en back4app paso 1 – configuración del proyecto de back4app crear un nuevo proyecto el primer paso para construir tu backend de python en back4app es crear un nuevo proyecto si aún no has creado uno, sigue estos pasos inicia sesión en tu cuenta de back4app haz clic en el botón “nueva app” en tu panel de control de back4app dale un nombre a tu app (por ejemplo, “python backend tutorial”) una vez que se crea el proyecto, lo verás listado en tu panel de control de back4app este proyecto será la base para todas las configuraciones de backend discutidas en este tutorial conectar el sdk de parse 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 para conectar tu código python a back4app, debes instalar el sdk de parse correspondiente e inicializarlo con las credenciales de tu panel de control de back4app recupera tus claves de parse en tu panel de control de back4app, navega a la configuración de la aplicación o a la seguridad y claves sección para encontrar tu id de aplicación y clave api rest también encontrarás la url del servidor parse (a menudo https //parseapi back4app com ) instala el sdk rest de parse para python pip install parse rest inicializa parse en tu script de python típicamente, crearías un archivo (por ejemplo, parse config py ) en tu proyecto parse config py # parse config py from parse rest connection import register \# replace the placeholders with your back4app credentials application id = "your application id" rest api key = "your rest api key" parse server url = "https //parseapi back4app com" \# the register function initializes the connection register(application id, rest api key, master key=none) este código asegura que cada vez que importes tu parse config módulo en otra parte de tu aplicación python, esté preconfigurado para conectarse a tu instancia específica de back4app ahora has establecido una conexión segura entre tu código python y el backend de back4app paso 2 – configuración de la base de datos un esquema de base de datos robusto es esencial para el desarrollo de backend en python las características de gestión de datos de back4app te permiten definir tablas (clases), campos y relaciones, asegurando que puedas almacenar y recuperar datos fácilmente en tu marco web de python o en cualquier otra biblioteca de python que elijas creando un modelo de datos back4app crea automáticamente esquemas de clase cuando guardas un objeto desde el código por primera vez, o puedes definir un esquema en el panel de control navega a la sección “base de datos” en tu panel de control de back4app crea una nueva clase (por ejemplo, “todo”) y añade columnas relevantes, como título (string) y estácompleto (boolean) creando un modelo de datos utilizando el agente de ia el agente de ia de back4app puede ayudarte a crear un esquema de base de datos rápidamente abre el agente de ia desde tu panel de control de la aplicación describe tu modelo de datos en lenguaje natural (por ejemplo, “crea una aplicación todo con un esquema de clase completo ”) deja que el agente de ia genere tu esquema automáticamente leyendo y escribiendo datos usando el sdk de python parse una vez que tu esquema esté listo, guardar y consultar datos es sencillo por ejemplo models py from parse rest datatypes import object import parse config # ensure parse config is imported class todo(object) pass def create todo item(title, is completed=false) new todo = todo(title=title, iscompleted=is completed) new todo save() print("todo saved successfully ", new todo objectid) def fetch todos() return todo query all() \# usage \# create todo item("buy groceries", false) \# results = fetch todos() \# for todo in results \# print(todo title, todo iscompleted) lectura y escritura de datos utilizando rest api si prefieres interactuar a través de rest, puedes enviar solicitudes directamente curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo lectura y escritura de datos utilizando graphql api back4app también proporciona un endpoint de graphql para consultar y mutar datos mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } trabajando con consultas en vivo (opcional) las consultas en vivo te permiten recibir actualizaciones en tiempo real cada vez que los datos cambian para habilitarlas activar consultas en vivo en tu back4app configuraciones del servidor usar un enfoque websocket de python para suscribirse a cambios aunque el sdk de python para consultas en vivo es impulsado por la comunidad, puedes integrar una biblioteca websocket si tu aplicación requiere actualizaciones en tiempo real paso 3 – aplicando seguridad con acls y clps resumen breve back4app proporciona listas de control de acceso (acls) y permisos a nivel de clase (clps) para ayudarte a garantizar la integridad de los datos estas características definen cómo los usuarios públicos o los usuarios autenticados pueden acceder o modificar datos configurando permisos a nivel de clase ve a tu panel de control de back4app , selecciona tu aplicación y abre la base de datos sección selecciona una clase (por ejemplo, “todo”) ve a permisos a nivel de clase y configura reglas para usuarios públicos o autenticados configurando acls en código las acl son permisos granulares establecidos en objetos individuales por ejemplo from parse rest datatypes import object, acl from parse rest user import user import parse config class todoacl(object) pass def create private todo(title, owner) todo = todoacl(title=title) \# create acl that allows only the owner read/write acl = acl() acl set read access(owner objectid, true) acl set write access(owner objectid, true) todo acl = acl todo save() return todo con las acl y clp, puedes encontrar un equilibrio entre seguridad y conveniencia al construir tus aplicaciones en python paso 4 – escribiendo funciones de cloud code por qué cloud code cloud code te permite descargar lógica empresarial importante al lado del servidor esto podría involucrar validaciones, disparadores o tareas sofisticadas como integrar herramientas de aprendizaje automático o apis externas con tu desarrollo de backend en python función de ejemplo puedes escribir tus funciones en main js (cloud code basado en javascript) en back4app ten en cuenta que, aunque desarrolles tu aplicación en python, el entorno de cloud code en back4app utiliza node js/javascript puedes llamar a estas funciones desde tu código python o cualquier otro cliente // main js parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw new error("no text provided"); } return { length text length }; }); puedes llamar a esta función utilizando las capacidades rest o graphql de python import requests def get text length(text) url = "https //parseapi back4app com/functions/calculatetextlength" headers = { "x parse application id" "your app id", "x parse rest api key" "your rest api key", "content type" "application/json" } response = requests post(url, headers=headers, json={"text" text}) data = response json() return data get("result", {}) \# usage length info = get text length("hello back4app") print(length info get("length")) despliegue y npm el cloud code de back4app se despliega utilizando el back4app cli https //www back4app com/docs/local development/parse cli o a través del panel de control puedes instalar paquetes npm (por ejemplo, para manipulación de datos, llamadas a api externas) y hacer referencia a ellos en tu main js este enfoque mantiene tu código eficiente y seguro en el lado del servidor paso 5 – configurando la autenticación habilitar o configurar la autenticación de usuarios back4app aprovecha la clase parse user para la autenticación esto maneja automáticamente el hash de contraseñas, tokens de sesión y más puedes gestionar registros, inicios de sesión o restablecimientos de contraseña con un mínimo de sobrecarga registrarse e iniciar sesión desde python from parse rest user import user import parse config def sign up user(username, password, email) new user = user signup(username, password, email=email) print("user signed up successfully ", new user objectid) return new user def log in user(username, password) logged user = user login(username, password) print("user logged in ", logged user username) return logged user las sesiones son manejadas automáticamente por parse puedes rastrear al usuario conectado y llamar a logout() cuando sea necesario para más detalles, consulta la documentación de la clase usuario https //www back4app com/docs/platform/users inicio de sesión social puedes integrar proveedores populares (como facebook o google) configurando flujos de oauth o utilizando adaptadores especializados consulta la documentación de inicio de sesión social https //www back4app com/docs/platform/sign in with apple para más detalles sobre cómo configurar estas características con tu proyecto en python paso 6 – manejo del almacenamiento de archivos configurando el almacenamiento de archivos la plataforma parse incluye almacenamiento de archivos nativo import requests import parse config def upload file(file path) file name = file path split('/')\[ 1] url = f"https //parseapi back4app com/files/{file name}" headers = { "x parse application id" "your app id", "x parse rest api key" "your rest api key", "content type" "image/jpeg" # or other mime type } with open(file path, 'rb') as f response = requests post(url, headers=headers, data=f) return response json() get('url') ejemplo puedes adjuntar este archivo a un objeto parse almacenando su url esto mantiene tus datos consistentes mientras tus medios están alojados de forma segura por back4app consideraciones de seguridad puedes controlar quién puede subir o acceder a archivos configurando la configuración de tu servidor parse para permitir solo a usuarios autenticados, por ejemplo este enfoque asegura que tus aplicaciones de python en producción permanezcan seguras paso 7 – verificación de correo electrónico y restablecimiento de contraseña descripción general la verificación de correo electrónico y los restablecimientos de contraseña son cruciales para la gestión de usuarios ayudan a confirmar las identidades de los usuarios y mantener la seguridad de la cuenta configuración del panel de control de back4app habilitar verificación de correo electrónico en configuraciones de la aplicación > configuraciones de correo electrónico configurar las plantillas de correo electrónico, como la dirección “de”, y las instrucciones para restablecer la contraseña implementación de código desde python, puedes activar correos electrónicos de restablecimiento de contraseña a través del punto final rest o bibliotecas de parse por ejemplo curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"email" "user\@example com"}' \\ https //parseapi back4app com/requestpasswordreset esto asegura un flujo sin problemas para los restablecimientos de contraseña directamente desde tu backend de python o cualquier otra interfaz paso 8 – programación de tareas con cloud jobs qué hacen los cloud jobs los cloud jobs te permiten automatizar tareas, como limpiar registros antiguos o generar informes periódicos estos se ejecutan en la infraestructura de back4app en intervalos especificados ejemplo en tu main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); puedes programar este trabajo para que se ejecute diariamente o semanalmente utilizando la sección de trabajos en segundo plano del panel de control de back4app paso 9 – integrando webhooks definición los webhooks permiten que tu aplicación back4app notifique a servicios externos cuando ocurren ciertos eventos esto es útil para integrarse con pasarelas de pago o plataformas de análisis, ampliando tus procesos de desarrollo configuración navegar a webhooks en tu panel de control de back4app agregar un nuevo webhook endpoint (por ejemplo, https //your service com/webhook endpoint ) seleccionar los eventos que activan el webhook (por ejemplo, creación de objetos o actualizaciones) también puedes definir webhooks en los triggers de cloud code como beforesave o aftersave para enviar datos a apis externas paso 10 – explorando el panel de administración de back4app dónde encontrarlo la aplicación de administración de back4app es una interfaz de gestión basada en la web permite a tu equipo realizar operaciones crud, gestionar datos y manejar tareas diarias sin escribir código adicional esto puede agilizar tu proceso de desarrollo de backend en python características habilitar la aplicación de administración desde app dashboard > más > aplicación de administración y sigue los pasos crea el primer usuario administrador un nuevo rol ( b4aadminuser ) y clases se añaden automáticamente a tu esquema elige un subdominio para tu interfaz de administración y finaliza luego inicia sesión para acceder a tu nueva aplicación de administración la aplicación de administración facilita la actualización o eliminación de registros y la gestión de tus datos con los controles de acceso adecuados, es seguro compartirla con gerentes de proyecto o partes interesadas conclusión al seguir esta guía sobre cómo construir un backend para python , has creado un backend seguro para aplicaciones de python en back4app configurado una base de datos con esquemas y relaciones flexibles implementado consultas en tiempo real para actualizaciones de datos instantáneas (opcional con consultas en vivo) aplicado medidas de seguridad con acls y clps para proteger los datos escrito cloud code en javascript para manejar la lógica del lado del servidor, fácilmente llamable desde python configurado la autenticación de usuarios con verificación de correo electrónico y flujos de restablecimiento de contraseña manejado cargas de archivos en tu código python con seguridad de archivos opcional programado trabajos recurrentes para tareas automatizadas integrado servicios externos utilizando webhooks explorado el panel de administración para la gestión de datos y colaboración con una base de código python sólida y un backend robusto de back4app, ahora estás equipado para abordar estructuras de datos avanzadas, incorporar frameworks como django y flask, e incluso integrar aprendizaje automático python ofrece innumerables posibilidades, y combinarlo con back4app significa que puedes iterar rápidamente mientras te concentras en la lógica central del negocio en lugar de en el mantenimiento del servidor próximos pasos construir una aplicación python lista para producción refinando tu esquema de base de datos, añadiendo caché y gestionando optimizaciones de rendimiento explorar características avanzadas como control de acceso basado en roles, registro avanzado o conexión de apis de terceros para análisis revisar la documentación oficial de back4app para obtener información más profunda sobre seguridad, ajuste de rendimiento y análisis de registros experimentar con herramientas como docker y kubernetes para contenerizar y escalar tu aplicación según sea necesario al aprovechar las poderosas bibliotecas de python y la infraestructura escalable de back4app, puedes acelerar tu viaje de desarrollo backend con confianza