Quickstarters
CRUD Samples
Cómo desarrollar una app CRUD con Flask?
33 min
descripción general este tutorial te guiará a través de la construcción de una aplicación crud (crear, leer, actualizar, eliminar) utilizando flask integraremos back4app como nuestro servicio backend para simplificar la gestión de datos aprenderás a configurar un proyecto de back4app, diseñar una estructura de datos flexible e implementar funcionalidades crud utilizando flask en este recorrido, primero crearás un proyecto de back4app llamado basic crud app flask que ofrece una solución robusta de almacenamiento de datos no relacional definirás tu esquema de datos con clases y campos, ya sea manualmente o utilizando el agente de ia de back4app después de configurar tu backend con la interfaz de administración de back4app, conectarás tu aplicación flask al servicio a través de llamadas a la api rest este tutorial también cubre la gestión de acceso seguro para tus datos al final, tendrás una aplicación flask lista para producción capaz de realizar operaciones crud junto con autenticación de usuario segura y manejo de datos lo que aprenderás cómo crear una aplicación crud basada en flask con un backend no relacional cómo estructurar tu backend en back4app e integrarlo con un proyecto flask cómo utilizar la interfaz de administración de back4app para gestionar operaciones crud sin esfuerzo cómo desplegar tu aplicación flask, incluyendo el uso de docker para la contenedorización requisitos previos antes de comenzar, asegúrate de tener una cuenta de back4app con un proyecto configurado ¿necesitas ayuda? consulta introducción a back4app https //www back4app com/docs/get started/new parse app un entorno de desarrollo de python configurado usa un editor como vscode o pycharm e instala python 3 8 (o posterior) conocimientos básicos de python, flask y apis rest consulta la documentación de python https //docs python org/3/ si es necesario paso 1 – configuración inicial del proyecto creando tu proyecto en back4app inicia sesión en tu cuenta de back4app haz clic en “nueva aplicación” desde tu panel de control ingresa el nombre del proyecto basic crud app flask y completa el proceso de configuración crear nuevo proyecto después de la creación, tu proyecto aparece en el panel de control, sirviendo como base para la configuración de tu backend paso 2 – construyendo el esquema de datos definiendo tus estructuras de datos para esta aplicación, establecerás varias clases en tu proyecto de back4app a continuación se presentan ejemplos de las clases principales y sus campos esenciales para las operaciones crud 1\ clase de artículos campo tipo descripción id objectid identificador único generado automáticamente título cadena el nombre o título del artículo descripción cadena una breve descripción del artículo creadoen fecha marca de tiempo cuando se creó el elemento actualizadoen fecha marca de tiempo para la última actualización 2\ clase de usuarios campo tipo descripción id objectid identificador único generado automáticamente nombre de usuario cadena nombre de usuario único para el usuario correo electrónico cadena dirección de correo electrónico única hashdecontraseña cadena contraseña hash segura para la autenticación creadoen fecha marca de tiempo cuando se creó la cuenta de usuario actualizadoen fecha marca de tiempo para la última actualización de la cuenta puedes crear estas clases y agregar campos directamente en tu panel de control de back4app crear nueva clase puedes agregar columnas eligiendo un tipo de dato, nombrando el campo, estableciendo valores predeterminados y marcándolo como obligatorio crear columna utilizando el agente de ia de back4app para la creación de esquemas el agente de ia en tu panel puede establecer automáticamente el esquema basado en tus instrucciones esta herramienta simplifica el proceso y asegura que tu modelo de datos sea óptimo para tareas crud cómo usar el agente de ia abre el agente de ia inicia sesión en tu panel de back4app y localiza el agente de ia en la configuración del proyecto describe tu esquema proporciona un aviso detallado enumerando las clases y campos confirma la configuración revisa el esquema propuesto y aprueba los cambios ejemplo de aviso 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 proceso impulsado por ia ahorra tiempo y garantiza un modelo de datos consistente y efectivo paso 3 – habilitando la interfaz de administración y manejo de operaciones crud descripción general de la interfaz de administración la interfaz de administración de back4app proporciona una solución sin código para gestionar tus datos de backend con sus características de arrastrar y soltar, puedes realizar fácilmente operaciones crud, como agregar, editar o eliminar registros habilitando la interfaz de administración ve al menú “más” en tu panel de control de back4app selecciona “admin app” y haz clic en “habilitar admin app ” crea tu cuenta de administrador, que también configura roles iniciales como b4aadminuser habilitar admin app después de la activación, inicia sesión en la interfaz de administración para gestionar los datos de tu proyecto panel de control de la app de administración usando la interfaz de administración para crud dentro de la interfaz de administración, puedes insertar nuevas entradas haz clic en “agregar registro” dentro de una clase (por ejemplo, artículos) para crear nuevos datos ver y modificar entradas selecciona cualquier registro para ver detalles o actualizar campos eliminar registros elimina entradas que ya no son necesarias esta interfaz fácil de usar mejora la productividad al simplificar la gestión del backend paso 4 – conectando tu aplicación flask a back4app con tu backend configurado, el siguiente paso es vincular tu aplicación flask a back4app realizando llamadas a la api desde flask dado que no hay un sdk de parse dedicado para flask, utilizarás llamadas a la api rest en tu aplicación flask, puedes utilizar la requests biblioteca para realizar operaciones crud ejemplo configuración de la comunicación api instalar la biblioteca requests ejecute el siguiente comando en su terminal pip install requests configurar un módulo de python para llamadas a la api cree un archivo llamado back4app api py # back4app api py import requests application id = "your application id" rest api key = "your rest api key" base url = "https //parseapi back4app com/classes" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def get items() response = requests get(f"{base url}/items", headers=headers) return response json() def create item(title, description) data = {"title" title, "description" description} response = requests post(f"{base url}/items", headers=headers, json=data) return response json() def update item(object id, title, description) data = {"title" title, "description" description} response = requests put(f"{base url}/items/{object id}", headers=headers, json=data) return response json() def delete item(object id) response = requests delete(f"{base url}/items/{object id}", headers=headers) return response json() integrar funciones de api en sus rutas de flask por ejemplo, en app py # app py from flask import flask, request, jsonify, render template from back4app api import get items, create item, update item, delete item app = flask( name ) @app route("/") def index() items = get items() return render template("index html", items=items get("results", \[])) @app route("/add", methods=\["post"]) def add item() title = request form get("title") description = request form get("description") result = create item(title, description) return jsonify(result) @app route("/update/\<item id>", methods=\["put"]) def modify item(item id) data = request get json() result = update item(item id, data get("title"), data get("description")) return jsonify(result) @app route("/delete/\<item id>", methods=\["delete"]) def remove item(item id) result = delete item(item id) return jsonify(result) if name == " main " app run(debug=true) este ejemplo ilustra cómo usar llamadas rest dentro de flask para interactuar con su backend de back4app paso 5 – protegiendo tu backend implementando controles de acceso protege tus datos configurando controles de acceso por ejemplo, al crear un nuevo elemento, podrías restringir el acceso a su creador a continuación se muestra un ejemplo utilizando llamadas a la api con acceso controlado import requests def create private item(title, description, user token) data = {"title" title, "description" description} headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "x parse session token" user token, "content type" "application/json" } response = requests post("https //parseapi back4app com/classes/items", headers=headers, json=data) return response json() configurando permisos a nivel de clase ajusta los permisos a nivel de clase (clps) directamente en el panel de control de back4app para asegurar que solo los usuarios autenticados puedan acceder a clases específicas paso 6 – implementando la autenticación de usuarios configurando la gestión de usuarios back4app ofrece gestión de usuarios integrada a través de su clase de usuarios en tu aplicación flask, puedes crear puntos finales para el registro y el inicio de sesión ejemplo registro e inicio de sesión de usuarios \# auth py import requests application id = "your application id" rest api key = "your rest api key" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def register user(username, password, email) data = {"username" username, "password" password, "email" email} response = requests post("https //parseapi back4app com/users", headers=headers, json=data) return response json() def login user(username, password) params = {"username" username, "password" password} response = requests get("https //parseapi back4app com/login", headers=headers, params=params) return response json() puedes crear rutas de flask correspondientes para manejar el registro y el inicio de sesión de usuarios utilizando estas funciones paso 7 – desplegando tu aplicación flask back4app simplifica el despliegue puedes desplegar tu aplicación flask a través de varios métodos, incluyendo docker 7 1 empaquetando tu aplicación flask prepara tu aplicación asegúrate de que todos los archivos y dependencias requeridos estén incluidos prueba localmente ejecuta tu aplicación localmente con flask run 7 2 organizando la estructura de tu proyecto una estructura típica podría ser basic crud app flask/ \| app py \| back4app api py \| auth py \| templates/ \| | index html \| static/ \| requirements txt \| dockerfile 7 3 contenerizando con docker incluye un dockerfile en la raíz del proyecto \# use a lightweight python image from python 3 9 slim \# set the working directory workdir /app \# install dependencies copy requirements txt run pip install no cache dir r requirements txt \# copy the application code copy \# expose the port flask runs on expose 5000 \# start the flask app cmd \["python", "app py"] 7 4 despliegue a través de back4app web deployment conecta tu repositorio de github asegúrate de que tu código esté enviado a github configura la configuración de despliegue en el panel de back4app, utiliza la web deployment para vincular tu repositorio (por ejemplo, basic crud app flask ) y selecciona tu rama define los comandos de construcción especifica el comando de construcción (por ejemplo, pip install r requirements txt ) y la ubicación de tu aplicación desplegar 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 creado con éxito una aplicación crud basada en flask integrada con back4app estableciste un proyecto llamado basic crud app flask , definiste modelos de datos para items y usuarios, y gestionaste tu backend a través de la interfaz de administración de back4app además, conectaste tu aplicación flask utilizando llamadas a la api rest e implementaste medidas de seguridad ¿qué sigue? expandir funcionalidad considera agregar características como búsqueda avanzada, vistas detalladas de artículos o actualizaciones en tiempo real mejorar servicios de backend explora funciones en la nube, integra apis de terceros o implementa control de acceso basado en roles profundiza tus habilidades visita la documentación de back4app https //www back4app com/docs y otros recursos para refinar aún más tu aplicación ¡feliz codificación y buena suerte con tu aplicación crud en flask!