10 consejos útiles para que los principiantes aprendan Django





1. Utilice rutas relativas en la configuración



No especifique una ruta absoluta en settings.py



, esto será útil si luego ejecutará el proyecto desde diferentes ubicaciones, por ejemplo, cuando lo implemente en otro servidor web con diferentes rutas. Use el siguiente código en settings.py si sus plantillas y archivos estáticos se encuentran dentro del directorio del proyecto Django:



# settings.py
import os
PROJECT_DIR = os.path.dirname(__file__)
...
STATIC_DOC_ROOT = os.path.join(PROJECT_DIR, "static")
...
TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, "templates"),
)
      
      







2. Utilice la etiqueta {% url%}



En lugar de codificar sus enlaces, intente usar una etiqueta compatible con versiones anteriores {% url %}



. Esto le dará una URL absoluta, pero si el proyecto se mueve, los enlaces seguirán siendo válidos.



Básicamente, {% url %}



toma el nombre de la vista y sus parámetros y realiza una búsqueda inversa para devolver la URL solicitada. Si realiza cambios en urls.py, los enlaces no se romperán.



3. Utilice el administrador de Django para sus aplicaciones PHP



Una de las fortalezas de Django es su sistema de autenticación de usuarios, que está integrado en el núcleo de Django. Es muy fácil de configurar y contiene un sistema conveniente para la autorización del usuario y la configuración de los ajustes necesarios.



Este sistema de autorización es tan bueno que muchos sugieren usarlo como área de administración para aplicaciones PHP.



4. Utilice un servidor independiente para el procesamiento estático



Django te permite alojar archivos estáticos en el entorno de desarrollo, pero no en tu entorno de producción.



Django está diseñado para salvarte de ti mismo. Si intenta utilizar archivos estáticos de la misma instancia de Apache que sirve a Django, perderá rendimiento.

Apache reutiliza procesos entre cada solicitud, por lo que una vez que un proceso ha almacenado en caché todo el código y las bibliotecas de Django, permanecen en la memoria. Y si no usa este proceso para

procesar la solicitud de Django, toda esta memoria se desperdiciará.



Si usa un servidor separado (o virtualhost) para el procesamiento estático, el rendimiento de su aplicación no se verá afectado.



5. Utilice la barra de herramientas de depuración de Django.



Las herramientas de depuración son invaluables en cualquier idioma. Aceleran el proceso de desarrollo al ayudar a encontrar errores y problemas potenciales que puedan surgir.



La barra de herramientas de depuración de Django le permite ver todas las consultas SQL ejecutadas mientras se procesa la vista y también puede ver el seguimiento de pila de cualquiera de ellas.



6. Prueba unitaria de Django



Las pruebas unitarias son una buena forma de garantizar que los cambios de código funcionen como se esperaba y no rompan el código anterior. Una de las mejores cosas de Django es que escribir pruebas unitarias es increíblemente fácil. Django ofrece la capacidad de usar doctest o unittest de forma inmediata, y la documentación de Django tiene excelentes tutoriales y ejemplos de código sobre cómo configurar pruebas unitarias para facilitar aún más la búsqueda de errores.



7. Visualización de modelos



Instale Django Command Extensions y pygraphviz y luego use el siguiente comando para obtener una buena visualización de los modelos de proyecto en Django:



./manage.py graph_models -a -g -o my_project.png
      
      





8. Virtualenv



Virtualenv + Python = varita mágica. Virtualenv aislará la configuración de Python / Django para cada proyecto individual. Esto significa que los cambios en un sitio no afectarán a otros sitios. También puede ser útil cuando es necesario mantener diferentes versiones de Django o python en el servidor.



9. Usa Memcache



Cuando el rendimiento deficiente puede ser un problema, lo más probable es que desee instalar algún tipo de sistema de almacenamiento en caché. Django ofrece muchas opciones para el almacenamiento en caché, pero Memcached es, con mucho, la mejor.

Instalar y usar memcached es muy fácil si usa el módulo cmemcache. Después de instalar el módulo, debe agregar una línea a la configuración para que sus páginas se publiquen aún más rápido.



10. Etiquetas personalizadas de carga automática que se pueden utilizar en todas las plantillas



from django import template
template.add_to_builtins('project.app.templatetags.custom_tag_module')
      
      





Si agrega esto al módulo que está cargado por defecto (settings.py, urls.py, cada aplicación models.py), tendrá acceso a todas las etiquetas y filtros de su módulo personalizado en cualquier plantilla, sin usar {% load custom_tag_module %}



.



El argumento de template.add_to_builtins()



puede ser una ruta a cualquier módulo; su módulo personalizado no tiene que estar vinculado a ninguna aplicación específica.

Por ejemplo, también puede ser un módulo ubicado en la raíz del proyecto (por ejemplo: ' project.custom_tag_module



').



¿Vale la pena aprender Django en 2020?



Si eres un programador principiante y te preguntas: ¿Debería aprender Django? La respuesta corta es sí.



Si necesita implementar su idea con costos mínimos y rápidamente, Django es la herramienta adecuada. Es gratuito, de código abierto y facilita aún más el desarrollo de proyectos web. Django es la mejor solución para la creación de prototipos de aplicaciones porque incluye todo lo que necesita para crear la funcionalidad que necesita desde el primer momento. Por ejemplo, el panel de administración se puede conectar con una línea de código.



Si es un desarrollador que ya está familiarizado con Python y está buscando un marco para el backend de su aplicación o sitio web, Django también es una buena opción.

El marco contiene bibliotecas y herramientas que le permiten realizar diversas operaciones y procesar de manera eficiente una gran cantidad de solicitudes de usuarios en tiempo real.

Por lo tanto, el proceso de desarrollo se vuelve rápido, ya que no es necesario crear todos los componentes desde cero.



Beneficios de Django



1. Rápido



Los desarrolladores hicieron el marco en mente que sería simple y al mismo tiempo rápido. Contiene bibliotecas que te permitirán no reinventar la rueda o crear un proyecto desde cero.



2. Seguro



Cuando se trata de seguridad, el marco te permite no pisar un rastrillo y evitar muchos problemas de seguridad, como inyección SQL, XSS, CSRF, debido a posibles errores del programador.



3. Panel de administración



El marco tiene inmediatamente un panel de administración y un sistema de autorización, lo que le permite ahorrar tiempo en la administración de usuarios y crear un panel de administración separado para el backend.



4. Escalable



El marco es adecuado para proyectos con diversos grados de carga de trabajo, y si un proyecto pequeño puede crecer en el futuro, no hay problema: Django se adapta perfectamente a cargas de trabajo pesadas.



5. Ciencia y análisis de datos



Ya sabemos que Django está construido en Python, y Python es conocido por ser una gran herramienta para construir proyectos usando inteligencia artificial y aprendizaje automático. Por lo tanto, si planea integrar el aprendizaje automático en su proyecto o analizar y procesar grandes cantidades de información, definitivamente debería probar Django.



6. Apoyo comunitario



Hay una comunidad bastante grande y activa en torno a Django, y el marco en sí tiene una documentación rica y fácil de usar.



Comienzo rápido



Para comenzar rápidamente a codificar en Django con un equipo y probarlo, construí y cargué una imagen de VPS en el mercado con un proyecto Django 3.1.3 vacío y



  • servidor http Gunicorn 20.0.4
  • Nginx 1.14.1 como proxy inverso
  • y servidor de base de datos Postgresql 12.1.






El costo de dicho servidor será de 769 rublos por mes: 538 rublos, si se paga por un año.



Y escriba sus trucos de vida favoritos mientras trabaja con Django en los comentarios; intentemos recopilar una publicación de consejos.










All Articles