Django y Django Rest Framework: mejores prácticas

- Andrés Cruz

In english
Django y Django Rest Framework: mejores prácticas

Django es uno de esos frameworks que llevan mucho tiempo en el mercado y que cada día se emplean más junto con el ecosistema Python: la creación de API Rest que ha estado, que como hemos visto en varios tutoriales, videos y mis cursos, son fácilmente escalables, son flexibles y todo esto es gracia a la gran modularidad que tiene el ecosistema Python que por supuesto también se hereda a Django.

¿Qué es Django? ¿Para qué sirve en el desarrollo de apps y Rest Apis?

Django es un conjunto de herramientas conocidas como framework, que nos permite construir todo tipo de aplicaciones webs escalables empleando un lenguaje de programación de alto nivel conocido como Python, entre estas apps que podemos construir están las Rest APIs para conectarse a cualquier otra cosa, por ejemplo, conectar una app en Django a Flutter.

Las Apis Rest aunque NO es un estándar, es una medida que ha sido tomada por múltiples frameworks para construir este tipo de sistema cuyo propósito principal es conectarse con otros sistemas o aplicaciones como te comentaba anteriormente; así que, por ejemplo, teniendo una app en Django, la podemos conectar con apps creadas en Flutter, Android, iOS, React o cualquier otra cosa similar... lo cual es excelente ya que con un solo backend podemos crear múltiples aplicaciones que consuman esta app en Django.

Un ejemplo del mundo real es una app de compras en líneas, la cual es una app con un repositorio central creada (por ejemplo) en Django y luego puedes crear las apps para el cliente, ya sea para móviles y/o navegadores empleando (por ejemplo) las tecnologías señaladas anteriormente...

Los principales conceptos de Django y el marco REST son:

Las clases de modelo proporcionan un mapa relacional de objetos (ORM) para la base de datos establecida. Un modelo se asigna a una tabla en la base de datos. Puede consultar las bases de datos sin lanzar una sola línea de SQL. Con los modelos, es fácil definir tablas y relaciones entre ellos.

Las vistas están a cargo del proceso de solicitudes. Funcionan como controladores en el MVC, recordemos que Django usa es el MTV. Puede implementarlos de muchas formas, como funciones o clases.

Las clases de serializador proporcionan control de tipos de datos y estructuras de solicitudes y respuestas.

Las plantillas o templates son archivos con contenido estático y dinámico. Están formados por código estático y otros elementos que dependen del contexto aunque esto en una app de tipo Rest no viene al caso.

Estas son algunas de las mejores prácticas a seguir cuando usa Django para el desarrollo:

Estructura de configuración: cualquier persona que sea nueva en el desarrollo puede crear fácilmente una aplicación con facilidad utilizando el marco de trabajo de Django. Es vital crear una estructura que sea fácil de mantener y reutilizar cuando sea necesario, siempre que uses Django genera un archivo settings.py que contiene todos los detalles relacionados con el proyecto o tu entorno de trabajo para que no realices ningún cambio en el archivo de configuración principal y generar nuevos archivos para diferentes entornos.

Un proyecto, varias aplicaciones en Django: puede haber muchas aplicaciones en un solo proyecto de Django. Una aplicación es una colección de conjuntos de funciones y modelos relacionados. Es una buena práctica mantener un orden y definir ubicaciones para funciones estándar. Existe una aplicación llamada api, mediante la cual se puede definir el enrutamiento de las otras aplicaciones en la carpeta principal de la aplicación.

ViewSet: es el componente más importante para ver las Rest APIs en los modelos de Django. Las vistas regulares en Django actúan como un controlador para las solicitudes HTTP, los conjuntos de vistas le brindan opciones como crear o listar. La mejor característica de los conjuntos de vistas es que hacen que el código sea consistente y se puede evitar la repetición; por lo tanto, con este componente, podemos especificar la estructura y con qué modelos van a trabajar.

Vistas genéricas: el framework Django tiene una característica llamada vistas genéricas que facilita las funciones y tareas relacionadas con los modelos. Algunas de las funciones incluyen recuperar datos, crear y destruir listas. Lo único que tienes que hacer es definir la clase. ver como un elemento secundario de la vista genérica.

Personalizar funciones: las vistas genéricas que se proporcionan en la documentación de Django enumeran una variedad de funciones como ListAPIView, CreateAPIView, RetreiveAPIVIew, RetrieveDestroyAPIView. Pero si está buscando personalizar las vistas, puede redefinir obtener, publicar, colocar, eliminar y otros métodos. También puede usar los mixins para redefinir los métodos y funciones específicas como crear, actualizar, destruir y otros.
 

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.