Quickstarters
CRUD Samples
How to Build a CRUD App with Python?
35 min
descripción general en este tutorial, aprenderás a construir una aplicación crud básica (crear, leer, actualizar, eliminar) utilizando python utilizaremos back4app como la plataforma backend para simplificar la gestión de tus datos esta guía te llevará a través de la configuración de un proyecto de back4app, la creación de un esquema de datos flexible y la codificación de scripts en python para ejecutar operaciones crud a través de llamadas a la api rest inicialmente, establecerás un proyecto de back4app llamado basic crud app python que proporciona una solución de almacenamiento de datos escalable y no relacional definirás tu modelo de datos al definir clases y sus campos, ya sea manualmente a través del panel de control de back4app o con la ayuda del agente ai integrado a continuación, explorarás la aplicación administrativa de back4app, una interfaz de arrastrar y soltar que simplifica la gestión de tus datos finalmente, vincularás tu aplicación de python a back4app realizando llamadas a la api restful para llevar a cabo operaciones crud seguras después de completar esta guía, habrás desarrollado una aplicación de python lista para producción que realiza tareas crud básicas junto con autenticación de usuario segura y gestión de datos lo que aprenderás cómo crear una aplicación crud basada en python con un backend no relacional robusto técnicas para construir e integrar un backend escalable con tu código python cómo utilizar eficientemente la aplicación back4app admin para gestionar registros de datos enfoques de despliegue, incluyendo la contenedorización con docker para tu aplicación de python requisitos previos asegúrate de tener lo siguiente antes de continuar una cuenta de back4app con un proyecto recién configurado ¿necesitas ayuda? visita introducción a back4app https //www back4app com/docs/get started/new parse app una configuración de desarrollo de python utiliza tu ide preferido (como pycharm o vs code) y asegúrate de que python 3 7+ esté instalado comprensión básica de python, programación orientada a objetos y apis rest consulta la documentación de python https //docs python org/3/ si es necesario paso 1 – configurando tu proyecto iniciando un nuevo proyecto en back4app inicia sesión en tu cuenta de back4app selecciona el botón “nueva aplicación” en tu panel de control ingresa el nombre del proyecto basic crud app python y sigue las instrucciones para completar la configuración crear nuevo proyecto una vez configurado, tu proyecto aparece en el panel de control, sentando las bases para la configuración de tu backend paso 2 – creando tu modelo de datos definiendo tus estructuras de datos para esta aplicación crud, necesitas definir múltiples clases (colecciones) en tu proyecto de back4app los ejemplos a continuación describen las clases esenciales y sus campos correspondientes necesarios para las operaciones crud básicas 1\ clase de artículos esta clase almacena información sobre cada artículo campo tipo de dato descripción id objectid identificador único generado automáticamente título cadena nombre del artículo descripción cadena breve descripción del artículo creadoen fecha marca de tiempo que indica cuándo se creó el elemento actualizadoen fecha marca de tiempo que indica la última modificación 2\ clase de usuarios esta clase maneja las credenciales y la autenticación de los usuarios campo tipo de dato descripción id objectid identificador único generado automáticamente nombre de usuario cadena nombre de usuario único para el usuario correo electrónico cadena la dirección de correo electrónico única del usuario hashdecontraseña cadena contraseña hash para una autenticación segura creadoen fecha marca de tiempo cuando se creó la cuenta actualizadoen fecha marca de tiempo cuando la cuenta fue actualizada por última vez puedes crear estas clases manualmente y especificar campos a través del panel de control de back4app crear nueva clase agregas campos eligiendo un tipo de dato, nombrando el campo, estableciendo valores predeterminados y marcándolo como obligatorio crear columna uso del agente ai de back4app para la configuración del esquema el agente ai de back4app es una herramienta inteligente integrada en tu panel de control que puede generar automáticamente tu esquema de datos según tus requisitos esta función acelera la configuración del proyecto y garantiza que tu modelo soporte todas las funciones crud necesarias cómo aprovechar el agente ai abre el agente ai inicia sesión en tu panel de back4app y navega hasta el agente ai en la configuración de tu proyecto esboza tu modelo de datos proporciona una descripción completa detallando las clases y campos necesarios revisa y confirma el agente ai propondrá un esquema basado en tu entrada examina la sugerencia y confirma para implementarla ejemplo de solicitud create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) este enfoque ahorra tiempo y asegura que tu modelo de datos esté bien optimizado para las necesidades de tu aplicación paso 3 – activando la aplicación de administración y realizando operaciones crud una introducción a la aplicación de administración la aplicación de administración de back4app es una interfaz sin código que te permite gestionar tus datos de backend de manera eficiente sus características intuitivas de arrastrar y soltar te permiten crear, ver, actualizar y eliminar registros con facilidad activando la aplicación de administración ve al menú “más” en tu panel de control de back4app selecciona “aplicación de administración” y haz clic en “habilitar aplicación de administración ” configura tu cuenta de administrador configurando las credenciales iniciales esto también creará roles (como b4aadminuser ) y las clases de sistema necesarias habilitar aplicación de administración después de habilitarla, inicia sesión en la aplicación de administración para gestionar los datos de tu aplicación panel de control de la aplicación de administración usando la aplicación de administración para operaciones crud dentro de la aplicación de administración, puedes insertar registros elige “agregar registro” en una clase (por ejemplo, artículos) para agregar nuevos datos ver y editar registros haz clic en una entrada para ver sus detalles o actualizar campos eliminar registros elimina registros que ya no son necesarios esta interfaz fácil de usar hace que gestionar datos sea muy sencillo paso 4 – conectando tu aplicación de python a back4app con tu backend listo, la siguiente fase es vincular tu aplicación de python a back4app utilizando llamadas a la api rest en python dado que no hay un sdk oficial de parse para python, interactuarás con back4app utilizando llamadas a la api rest la biblioteca de python requests es perfecta para esto 1\ instalando la biblioteca requerida ejecuta el siguiente comando para instalar el paquete requests pip install requests 2\ ejemplo recuperando elementos a continuación se muestra un script de python que recupera elementos de tu proyecto de back4app import requests def fetch items() url = "https //parseapi back4app com/classes/items" headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key" } try response = requests get(url, headers=headers) response raise for status() items = response json() get("results", \[]) print("fetched items ", items) except requests requestexception as error print("error fetching items ", error) if name == " main " fetch items() 3\ creando, actualizando y eliminando elementos aquí hay ejemplos para las otras operaciones crud import requests import json base url = "https //parseapi back4app com/classes/items" headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" } def create item(title, description) payload = { "title" title, "description" description } try response = requests post(base url, headers=headers, data=json dumps(payload)) response raise for status() print("item created ", response json()) except requests requestexception as error print("creation error ", error) def update item(object id, new title, new description) url = f"{base url}/{object id}" payload = { "title" new title, "description" new description } try response = requests put(url, headers=headers, data=json dumps(payload)) response raise for status() print("item updated ", response json()) except requests requestexception as error print("update error ", error) def delete item(object id) url = f"{base url}/{object id}" try response = requests delete(url, headers=headers) response raise for status() print("item deleted successfully ") except requests requestexception as error print("deletion error ", error) if name == " main " \# example usage create item("sample item", "this is a test item ") \# to update or delete, replace 'object id' with a valid id integra estas funciones en la lógica de tu aplicación según sea necesario paso 5 – mejorando la seguridad del backend implementando control de acceso protege tus datos configurando reglas de control de acceso por ejemplo, puedes asegurarte de que solo el propietario de un elemento pueda verlo o modificarlo utilizando configuraciones específicas de acl a través de tus llamadas a la api al crear un elemento privado, incluye configuraciones de acl en tu carga útil la configuración detallada se puede manejar en tu panel de control de back4app configurando permisos a nivel de clase (clps) ajusta los clps en la configuración de tu proyecto de back4app para hacer cumplir las políticas de seguridad predeterminadas, asegurando que solo los usuarios autenticados tengan acceso a ciertas clases paso 6 – implementando la autenticación de usuarios gestionando el registro y el inicio de sesión de usuarios back4app admite la autenticación de usuarios a través de su clase de usuario incorporada los siguientes ejemplos demuestran cómo puedes registrar y autenticar usuarios utilizando llamadas a la api rest de python import requests import json user url = "https //parseapi back4app com/users" user headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" } def sign up(username, password, email) payload = { "username" username, "password" password, "email" email } try response = requests post(user url, headers=user headers, data=json dumps(payload)) response raise for status() print("user registered ", response json()) except requests requestexception as error print("registration error ", error) def log in(username, password) url = f"{user url}/login?username={username}\&password={password}" try response = requests get(url, headers=user headers) response raise for status() print("logged in user ", response json()) except requests requestexception as error print("login error ", error) if name == " main " \# example usage sign up("newuser", "securepassword", "user\@example com") log in("newuser", "securepassword") esta configuración admite la gestión de sesiones, restablecimientos de contraseña y otras características de autenticación paso 7 – desplegando tu aplicación de python back4app proporciona un proceso de despliegue sencillo puedes desplegar tu aplicación de python utilizando métodos como la contenedorización con docker 7 1 construyendo tu aplicación de python empaqueta tu aplicación usa tu método preferido (por ejemplo, crear un entorno virtual y empaquetar tu código) prueba el paquete asegúrate de que todas las dependencias estén instaladas y que tus scripts funcionen como se espera 7 2 organizando la estructura de tu proyecto un proyecto típico de python puede verse así basic crud app python/ \| app/ \| | init py \| | main py \| | crud py \| | auth py \| requirements txt \| dockerfile \| readme md por ejemplo, tu crud py podría incluir las funciones mostradas arriba para manejar elementos 7 3 dockerizando tu aplicación de python para contenerizar tu aplicación, incluye un dockerfile en el directorio de tu proyecto \# use an official python runtime as the base image from python 3 9 slim \# set the working directory workdir /app \# install required packages copy requirements txt run pip install no cache dir r requirements txt \# copy application code copy \# expose the port your app will run on (if applicable) expose 5000 \# define the default command to run the app cmd \["python", "app/main py"] 7 4 despliegue a través de back4app web deployment conecta tu repositorio de github aloja tu código de python en github y enlázalo a tu cuenta de back4app establece opciones de despliegue en el panel de back4app, navega a la sección de despliegue web, selecciona tu repositorio (por ejemplo, basic crud app python ), y elige la rama configura ajustes de construcción establece el comando de construcción (por ejemplo, pip install r requirements txt ) y especifica el comando de inicio despliega tu aplicación haz clic en desplegar y monitorea los registros hasta que tu aplicación esté en línea paso 8 – conclusiones y direcciones futuras ¡gran trabajo! has construido con éxito una aplicación crud basada en python integrada con back4app configuraste un proyecto llamado basic crud app python , definiste clases para items y usuarios, y gestionaste tus datos a través de la aplicación de administración de back4app además, conectaste tus scripts de python a back4app utilizando llamadas a la api rest e implementaste medidas de seguridad sólidas próximos pasos expande tu aplicación introduce características adicionales como filtrado avanzado, vistas detalladas o actualizaciones en vivo mejora las capacidades del backend considera integrar funciones en la nube, apis externas o controles de acceso avanzados basados en roles profundiza tus habilidades visita la documentación de back4app https //www back4app com/docs y explora más tutoriales para perfeccionar tu aplicación ¡feliz codificación y disfruta construyendo tu aplicación crud en python!