7 errores que debe evitar al crear una aplicación Django

Django… Todos conocemos la popularidad de este framework de Python. Django se ha convertido en la primera opción de los desarrolladores para construir sus aplicaciones web. Es un marco Python gratuito y de código abierto. Django puede resolver fácilmente muchos desafíos de desarrollo comunes. Le permite construir aplicaciones web flexibles y bien estructuradas. 

7-Mistakes-You-Should-Avoid-While-Building-a-Django-Application

Muchas características comunes de Django, como un panel de administración incorporado, ORM (herramienta de mapeo relacional de objetos), enrutamiento y plantillas, han facilitado la tarea para los desarrolladores. No requieren pasar tanto tiempo implementando estas cosas desde cero. 

Una de las características más impresionantes de Django es el panel de administración integrado. Con esta función, puede configurar muchas cosas, como una lista de control de acceso, permisos de nivel de fila, acciones, filtros, pedidos, widgets, formularios, asistentes de URL adicionales, etc. 

Django ORM funciona con todas las principales bases de datos listas para usar. Es compatible con todas las principales consultas SQL que puede utilizar en su aplicación. El motor de plantillas de Django también es muy, muy flexible y potente al mismo tiempo. Aunque hay muchas funciones disponibles en Django, los desarrolladores aún cometen muchos errores al crear una aplicación. En este blog, discutiremos algunos errores comunes que debe evitar al crear una aplicación Django. 

1. Uso del entorno global de Python para las dependencias del proyecto

El uso del entorno global para las dependencias del proyecto puede generar conflictos de dependencia. En Python, no puede usar varias versiones de paquetes al mismo tiempo. Creará un problema si diferentes proyectos requieren diferentes versiones incompatibles del mismo paquete. Hay muchas opciones para aislar su entorno. Las formas más comunes se dan a continuación…

  • entorno virtual
  • envoltorio virtual
  • Maquinas virtuales
  • Contenedores

2. Evitar la fijación de dependencias de proyectos en un archivo  ‘ requisites.txt’

Cuando comience con un proyecto de Python, comience con un entorno aislado con un archivo ‘requirement.txt’. Cuando instale paquetes a través de pip/easy_install, no olvide agregarlos a su archivo ‘requirement.txt’. Más adelante, cuando tenga que implementar su proyecto en el servidor, será más fácil para usted. 

Las diferentes versiones de los paquetes proporcionan diferentes módulos, funciones o parámetros. Si habrá algún cambio menor en su dependencia, puede romper su paquete. Por lo tanto, es importante anclar la versión específica de sus dependencias en su archivo ‘requirement.txt’. Hay muy buenas herramientas pip-tools disponibles en Python . Con la ayuda de las herramientas de línea de comandos disponibles en él, puede administrar sus dependencias fácilmente.

Esta herramienta genera automáticamente un archivo ‘requirement.txt’ que fija todas sus dependencias y todo su árbol de dependencias. Además, mantenga la copia de seguridad de su archivo de dependencias. Guarde una copia en su sistema de archivos, una carpeta administrada por Git, una carpeta S3, FTP y SFTP.

3. No comprender los beneficios de las vistas basadas en funciones y las vistas basadas en clases

Las vistas basadas en clases proporcionan una clase abstracta que implementa tareas comunes de desarrollo web. Puede obtener la ventaja de usar la API estructurada junto con las ventajas de la programación orientada a objetos. Su código se vuelve más claro y legible. Puede ampliar sus CBV para su vista y puede anular las propiedades o funciones de la clase. 

En su proyecto, puede usar diferentes mixins y puede anular los comportamientos básicos de CBV para construir los contextos de vista, verificar la autorización en el nivel de fila, rutas de plantilla de construcción automática desde la estructura de su proyecto. 

Las vistas basadas en funciones también suelen ser una excelente opción. El artículo de Luke Plant hace un buen trabajo al explicar por qué es posible que desee usar FBV: https://spookylukey.github.io/django-views-the-right-way/

4. Escribir la lógica de la aplicación en vistas en lugar de modelo

Escribir la lógica en las vistas hace que la vista de su aplicación sea «gruesa» y su modelo «delgado». Evite este error y siempre escriba la lógica en sus modelos en lugar de vistas. Puede dividir la lógica en métodos pequeños y puede escribir eso en los modelos. Puede usarlo varias veces desde múltiples fuentes con solo unas pocas líneas de código. 

5. Archivo de configuración desordenado e inmanejable

Muchas veces sucede que mientras trabaja en un proyecto del mundo real, su archivo de configuración crece a más de 600-700 líneas de código. Este archivo enorme y desordenado se vuelve difícil de mantener, especialmente cuando su entorno de desarrollo, producción y ensayo requiere una configuración personalizada. Puede dividir el archivo de configuración manualmente y puede crear cargadores personalizados. 

6. Mala estructura de la aplicación y ubicación incorrecta de los recursos

Cada vez que crea una aplicación con Django, contiene varias aplicaciones. Estas aplicaciones se encargan de realizar una tarea específica. Básicamente, estas aplicaciones son paquetes de Python que contienen al menos archivos __init__.py y models.py . En la última versión de Django, ya no necesita la versión de Django. __init__.py es suficiente en su aplicación. 

Su aplicación Django se basa en diferentes módulos de Python, como modelos, administradores, vistas, URL, modelos, formularios, etiquetas de plantilla, etc. Puede dividir su aplicación en una lógica de aplicación reutilizable. 

Siempre asigne a la carpeta de su proyecto un nombre específico y coloque su aplicación en proyecto/aplicaciones/. Después de eso, puede colocar las dependencias de su aplicación en sus propias subcarpetas.  

7. Confusión entre STATICFILES_DIRS y STATIC_ROOT en Django

Los archivos Django Static contienen principalmente JavaScript, CSS, imágenes, fuentes, etc. Se recopilan en un directorio público durante el proceso de implementación.  python manage.py runserver busca archivos estáticos utilizando la configuración STATICFILES_FINDERS. Si ocurre una falla, Django intenta encontrar el archivo usando django.contrib.static files.finders.AppDirectoriesFinder. Esto busca en la carpeta estática de cada aplicación instalada en el proyecto. Puede escribir aplicaciones reutilizables enviadas con sus propios archivos estáticos. 

En Django, usando el comando de administración estática python manage.py collectstatic , puede pasar por STATICFILES_FINDERS y puede copiar los archivos de las carpetas estáticas, así como de STATICFILES_DIRS al directorio que especifique en la configuración STATIC_ROOT. 

Conclusión

Hemos mencionado siete errores en este artículo, pero hay muchas cosas en Django que debes cuidar. Mientras construye un proyecto en Django, siga las mejores prácticas para escribir código en su proyecto. Todo importa, desde definir una URL hasta crear una vista o definir un modelo hasta la estructura de carpetas completa. Será difícil al principio, pero a medida que progreses verás mejoras en ti mismo. Está bien cometer estos errores como principiante, pero si sigues mirando el buen proyecto de Django, seguramente lo dominarás. 

Publicación traducida automáticamente

Artículo escrito por anuupadhyay y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *