Quickstarters
Feature Overview
How to Build a Backend for Django?
41 min
introducción en este tutorial, aprenderás cómo construir un backend para django utilizando la robusta plataforma impulsada por ia de back4app django es un marco web de alto nivel que fomenta el desarrollo rápido de backend y un diseño limpio y pragmático crearemos un backend escalable y seguro que se integre sin problemas con tu proyecto django al usar back4app, puedes aprovechar la gestión automatizada de bases de datos, potentes apis, almacenamiento de archivos, autenticación de usuarios, validación de datos, capacidades en tiempo real y características de seguridad avanzadas verás cómo el entorno de back4app genera automáticamente la infraestructura del servidor, permitiéndote concentrarte en la lógica de negocio de tu aplicación django este enfoque acorta el tiempo de desarrollo al eliminar la necesidad de configurar manualmente servidores y bases de datos al final de este tutorial, tendrás una estructura robusta para tus aplicaciones web que se puede ampliar con características más complejas, integraciones y lógica personalizada requisitos previos una cuenta de back4app y un nuevo proyecto de back4app comenzando con back4app https //www back4app com/docs/get started/new parse app si no tienes una cuenta, puedes crear una gratis sigue la guía anterior para preparar tu proyecto un proyecto de django configurado localmente asegúrate de tener un entorno de django si estás comenzando desde cero, sigue la documentación oficial de django https //docs djangoproject com/en/4 2/intro/install/ confirma que las installed apps de tu proyecto y la estructura básica de vistas y plantillas están listas python 3 7+ instalado necesitarás un entorno de python moderno para tu aplicación django familiaridad con la arquitectura de vista de modelo de django y operaciones crud básicas si eres nuevo en django o necesitas repasar, consulta la documentación de django https //docs djangoproject com/en/4 2/ tener estos requisitos previos asegurará una experiencia más fluida mientras sigues este tutorial paso 1 – crear un nuevo proyecto en back4app y conectar por qué necesitas un proyecto de back4app un nuevo proyecto en back4app es la columna vertebral de tu desarrollo backend te proporciona capacidades de parse server, herramientas de base de datos y una poderosa interfaz de administración esta estructura central te permite descargar la gestión del servidor y concentrarte en la lógica de negocio de tu aplicación django crear un nuevo proyecto inicia sesión en tu cuenta de back4app haz clic en el botón “nueva app” en tu panel de back4app nombra tu app (por ejemplo, “django backend tutorial”) una vez creada, tu app aparecerá en tu panel de back4app este nuevo proyecto es donde almacenaremos datos, gestionaremos reglas de seguridad y ejecutaremos código del lado del servidor para tu app de django instalando el sdk de parse para python para conectar tu proyecto de django a back4app, utilizaremos el sdk de parse para python te permite manejar operaciones de datos, autenticación de usuarios, características en tiempo real y más desde tu código en python recupera tus claves de app en el panel de back4app, ve a configuración de la app o seguridad y claves para encontrar tu id de aplicación y clave de cliente (o clave rest ) y la url del servidor de parse (por ejemplo, https //parseapi back4app com ) instala el sdk pip install parse rest inicializa parse en tu proyecto django por ejemplo, crea un nuevo archivo llamado parse config py dentro del directorio principal de tu aplicación django (la misma carpeta que contiene views py o models py ) \# parse config py from parse rest connection import register application id = "your application id" rest api key = "your rest api key" parse server url = "https //parseapi back4app com" \# register your app with parse register(application id, rest api key, master key=none, endpoint=parse server url) con esta configuración, cualquier archivo en tu proyecto django puede importar parse config para asegurar una conexión con tu backend de back4app ahora puedes consultar y guardar datos desde tu código django utilizando el sdk de python de parse paso 2 – configuración de la base de datos 1\ creando un modelo de datos al igual que django utiliza modelos para almacenar datos en una base de datos relacional, parse utiliza clases para almacenar objetos puedes crear clases en el panel de control de back4app o definirlas sobre la marcha en el panel de control de back4app navega a base de datos haz clic en crear una clase nómbrala (por ejemplo, “todo”), luego agrega campos como título (string) y iscompleted (boolean) 2\ usando el agente de ia para generar automáticamente un modelo de datos el agente de ia de back4app puede ayudarte a generar automáticamente un esquema abre el agente de ia en el panel de control de tu app describe tu modelo de datos (por ejemplo, “un esquema de app de todo con título, iscompleted y puntero de usuario ”) deja que el agente de ia lo construya por ti esto puede ahorrar tiempo, especialmente si tu app de django requiere relaciones complejas o validación avanzada de datos 3\ leer y escribir datos usando el sdk de parse a continuación se muestra un ejemplo de crear y consultar un todo objeto desde tu proyecto django \# views py from parse config import from parse rest datatypes import object class todo(object) pass def create todo item(title, is completed=false) todo = todo(title=title, iscompleted=is completed) todo save() # this performs the crud operation to save data in back4app def get all todos() return todo query all() # retrieves all todo objects from back4app puedes llamar a estas funciones desde tus vistas de django o desde la consola esta configuración funciona en conjunto con la lógica de tu aplicación django, por lo que tu marco web permanece completamente integrado con el backend de parse 4\ leer y escribir datos usando la api rest si prefieres rest, aquí tienes cómo crear un todo objeto 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 5\ leer y escribir datos usando la api graphql back4app también proporciona una graphql interfaz por ejemplo mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } esto es útil si deseas integrar consultas de graphql en tus vistas de django o microservicios como parte de una arquitectura de datos moderna 6\ trabajando con consultas en vivo (opcional) para actualizaciones en tiempo real, puedes habilitar consultas en vivo en el panel de control de back4app en este momento, el sdk oficial de parse para python puede tener un soporte limitado para consultas en vivo sin embargo, aún puedes suscribirte a cambios a través de websockets u otros enfoques si es necesario consulta la documentación de back4app https //www back4app com/docs para las últimas actualizaciones sobre consultas en vivo de python paso 3 – aplicando seguridad con acls y clps 1\ breve resumen usa listas de control de acceso (acls) y permisos a nivel de clase (clps) para proteger tus datos las acls controlan los permisos de lectura/escritura por objeto, mientras que los clps se aplican a toda una clase 2\ paso a paso configurando permisos a nivel de clase ve a la base de datos sección en back4app elige la clase (por ejemplo, todo ) ajusta el acceso lectura/escritura o requiere inicio de sesión configurando acls en código esto asegura que tu proyecto django respete las mismas reglas de seguridad granulares establecidas en back4app paso 4 – escribiendo funciones de cloud code 1\ por qué cloud code con cloud code, ejecutas lógica de negocio en el lado del servidor por ejemplo, puedes realizar validación de datos, integrar apis externas o activar eventos antes de guardar datos este es un complemento poderoso para tus vistas y plantillas de django, permitiéndote centralizar la lógica avanzada en un solo lugar 2\ ejemplo de función código en la nube se escribe típicamente en javascript lo despliegas en back4app y luego lo llamas desde tu aplicación django a través del sdk de python de parse o solicitudes rest una función simple // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); 3\ despliegue usa la cli de back4app o tablero despliega tu main js con funciones en la nube una vez desplegadas, se vuelven accesibles para tu código django a través de from parse config import import requests def call calculate text length(text) url = "https //parseapi back4app com/functions/calculatetextlength" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } payload = {"text" text} response = requests post(url, json=payload, headers=headers) return response json() 4\ npm si necesitas módulos externos de node en tu código en la nube, decláralos en el package json back4app los instala automáticamente al desplegar paso 5 – configuración de la autenticación 1\ habilitar o configurar la autenticación de usuarios por defecto, parse incluye la user clase para registros e inicios de sesión configura la verificación de correo electrónico, restablecimientos de contraseña y más en el panel de control de back4app 2\ ejemplos de código de django \# models py or a separate file from parse config import from parse rest user import user def register user(username, password, email) new user = user signup(username, password, email=email) return new user def login user(username, password) return user login(username, password) 3\ inicio de sesión social si necesitas inicios de sesión de google, apple o facebook, configúralos en auth settings de back4app y sigue las guías respectivas tu aplicación django puede entonces vincular o iniciar sesión a los usuarios llamando a los métodos relevantes de parse paso 6 – manejo del almacenamiento de archivos 1\ configuración del almacenamiento de archivos back4app almacena de forma segura los archivos subidos a través del sdk de parse puedes subir desde django enviando un archivo a un campo de archivo de parse from parse rest datatypes import object, file class photo(object) pass def upload image(file path) with open(file path, 'rb') as f parse file = file(file path, f read()) photo = photo(imagefile=parse file) photo save() return photo 2\ ejemplo si deseas agregar imágenes subidas por el usuario, integra un \<input type="file"> en tus plantillas de django, luego maneja el archivo en una función de vista que llame a upload image() 3\ consideraciones de seguridad parse proporciona una configuración que controla quién puede subir archivos { "fileupload" { "enableforpublic" true, "enableforanonymoususer" true, "enableforauthenticateduser" true } } ajusta estos para que coincidan con tus necesidades de seguridad, asegurando que solo los usuarios de confianza puedan almacenar y acceder a archivos sensibles paso 7 – verificación de correo electrónico y restablecimiento de contraseña 1\ descripción general la interfaz de administración de django maneja muchas cosas, pero para tu backend impulsado por parse, también puedes habilitar la verificación de correo electrónico y los restablecimientos de contraseña es vital para verificar usuarios reales y proporcionar un camino de recuperación de cuenta fluido 2\ configuración del panel de control abre tu aplicación de back4app habilitar verificación de correo electrónico en configuraciones de la aplicación > configuraciones de correo electrónico personaliza las plantillas de correo electrónico para que coincidan con tu marca 3\ código/implementación en tu aplicación django, podrías ofrecer un formulario de restablecimiento de contraseña cuando un usuario solicita un restablecimiento, llama al endpoint de restablecimiento de contraseña de parse o al método de python apropiado si está soportado en el sdk paso 8 – programación de tareas con cloud jobs 1\ lo que hacen los cloud jobs los cloud jobs te permiten ejecutar tareas automatizadas, como limpiar datos antiguos o generar informes esto complementa el crontab o los celery de django al centralizar tareas en el entorno de back4app 2\ ejemplo // 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); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); después de implementar, prográmalo en el back4app dashboard bajo configuraciones del servidor > tareas en segundo plano para que se ejecute diariamente o semanalmente paso 9 – integración de webhooks 1\ definición los webhooks te permiten enviar solicitudes http a servicios externos cuando ocurren ciertos eventos en tus clases de back4app por ejemplo, notificar a un canal de slack o a un servicio de pago cada vez que se crea un nuevo registro 2\ configuración ve a más > webhooks en el panel configura tu endpoint externo (por ejemplo, una url en tu proyecto django) define los triggers (como “objeto creado” en todo ) 3\ ejemplo cada vez que se crea un nuevo todo, se envía una solicitud post al endpoint de tu aplicación django en django, analizarías los datos json y los manejarías (por ejemplo, registrando o procesando más) paso 10 – explorando el panel de administración de back4app 1\ dónde encontrarlo la aplicación de administración de back4app está en tu consola bajo más > aplicación de administración es una interfaz centrada en el modelo para gestionar tus datos sin escribir código 2\ características base de datos ver, editar o eliminar registros rápidamente registros monitorear errores o registros de procesos tareas en segundo plano gestionar los horarios de tus trabajos en la nube analíticas y notificaciones push si es relevante para tu aplicación, accede a notificaciones push y datos analíticos esto es similar a la interfaz de administración de django, pero se centra en el backend de parse conclusión siguiendo esta guía, has aprendido cómo construir un backend para django usando back4app has creado una estructura de backend segura y escalable para tu aplicación django configurado un modelo de datos, realizado operaciones crud y aprovechado características en tiempo real implementado acls, clps y autenticación de usuarios para una seguridad de alto nivel usado cloud code para lógica de negocio, validación de datos e integraciones externas almacenado archivos, programado cloud jobs y configurado webhooks para flujos de trabajo avanzados explorado la aplicación de administración de back4app para gestionar tus datos de manera efectiva con esta base, puedes extender tu proyecto django con confianza integra características avanzadas, optimiza el rendimiento y añade lógica personalizada para manejar requisitos a nivel empresarial sigue experimentando con el sdk de parse para python para ofrecer aplicaciones web potentes ¡feliz codificación! próximos pasos construir una aplicación django lista para producción con almacenamiento en caché avanzado, roles de usuario y ajustes de rendimiento aprovechar características más avanzadas de back4app como análisis avanzados o control de acceso basado en roles aprender de la documentación oficial de back4app para un conocimiento más profundo de registros, consultas en tiempo real y optimización de datos explorar otros tutoriales para ver cómo puedes combinar las potentes “vistas y plantillas” de django con apis externas y m