10 Consejos Django increíblemente útiles

Hay bastantes pequeños trucos y consejos que uno podría usar en sus proyectos de Django que acelerarían el desarrollo y evitarían muchos dolores de cabeza a largo plazo. Desde lo básico a lo oscuro, estos consejos pueden ayudar a cualquier nivel de habilidad del programador a ser más adepto con Django y todo su esplendor..

Django es un excelente marco para Python. Si bien puede que no obtenga tanta tinta como otros marcos populares como Rails, es tanto un marco pulido como cualquiera de los demás. Pone mucho énfasis en el principio DRY (Don't Repeat Yourself) en la codificación limpia al automatizar muchos de los procesos en la programación..

1. Usar rutas relativas en la configuración.

Por alguna razón, los proyectos tienden a moverse en el lugar de vez en cuando. Puede tratarse de un oso absoluto si no planifica con anticipación la posibilidad. Rob Hudson tiene una excelente técnica para garantizar que sus implementaciones de Django se puedan mover con facilidad, solo tiene que editar algunas líneas de código en sus archivos de configuración.

Mi archivo de configuración de Django predeterminado ha cambiado con el tiempo para ahora incluir configuraciones que no dependen de la ubicación del proyecto en el sistema de archivos. Esto es excelente en un entorno de equipo donde más de una persona está trabajando en el mismo proyecto, o cuando implementa su proyecto en un servidor web que probablemente tenga diferentes rutas al directorio raíz del proyecto..

La publicación de Rob tiene excelentes ejemplos de código para configurar tu instalación de Django de una manera muy flexible.


Foto por kaet44.

2. Usa la etiqueta % url%

En lugar de codificar enlaces individuales, intente usar la etiqueta % url% compatible con versiones anteriores para lograr el mismo resultado. Esto te dará la absoluto URL, de modo que si, Dios no lo quiera, tu proyecto de Django mueve los enlaces, permanecerán intactos..

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

Si bien no es el consejo más avanzado, es una excelente técnica para usar en tus proyectos de django..


Foto por Dave_Apple.

3. Usa el administrador de Django para tus aplicaciones PHP

Posiblemente una de las mejores características de Django es el sistema de autenticación de usuarios que Django ha incorporado directamente en el núcleo. Es realmente fácil de configurar y viene con un sistema robusto para autenticar a los usuarios y configurar otras configuraciones necesarias.

Este sistema de usuario es tan impresionante que incluso se ha sugerido usar Django como su área de administración para su aplicación PHP. Aquí está Jeff Croft sobre por qué Django es una gran solución para un sistema de administración para cualquier aplicación, independientemente del idioma:

Una de las filosofías centrales de Django es el acoplamiento suelto. Además de la más atractiva connotación de amor libre, esto significa que cada una de las capas del "ataque" de Django debería ser independiente de las otras, de modo que puede elegir usar solo fragmentos y partes de él, y / o deslizar en otros componentes si lo prefiere. Por suerte, es increíblemente sencillo aprender los conceptos básicos de la capa de modelo de Django, que maneja el esquema de la base de datos y la asignación de objetos relacional, incluso si no conoce Python. Cualquiera puede crear un esquema de base de datos en Django y obtener la joya de la corona del framework, es la interfaz de administración, con muy poco trabajo, incluso si planea escribir la lógica de la aplicación en otro idioma..


Foto de Cloudzilla..

4. Utilice un servidor de medios separado

Django le permite servir archivos estáticos en su entorno de desarrollo, pero no su entorno de producción. ¿Por qué? No es eficiente. En absoluto. Jacobian.org da una explicación.

Django deliberadamente no sirve medios para ti, y está diseñado de esa manera para salvarte de ti mismo. Si intentas servir medios desde la misma instancia de Apache que está sirviendo a Django, vas a acabar con el rendimiento. Apache reutiliza los procesos entre cada solicitud, así que una vez que un proceso almacena en caché todo el código y las bibliotecas de Django, esos se quedan en la memoria. Si no está utilizando ese proceso para atender una solicitud de Django, se desperdicia toda la sobrecarga de memoria.

Al usar un servidor separado para alojar y servir estos archivos estáticos, su rendimiento no se verá afectado. Si no desea comprar un servidor, puede usar Amazon S3 para almacenar los archivos de forma relativamente económica.


Foto por winkyintheUK.

5. Usa la barra de herramientas del depurador

Las herramientas de depuración para cualquier idioma son invaluables. Aceleran el desarrollo al detectar errores en su código y los posibles escollos que pueden ocurrir. Rob Hudson ha lanzado recientemente la barra de herramientas de depuración de Django para ayudar con el código de depuración, y podría ayudar enormemente a cualquier desarrollador.

La barra de herramientas en sí es una pieza de middleware que crea una instancia de cada objeto del panel a pedido, y realiza el procesamiento y la representación a medida que la respuesta se escribe de nuevo en el navegador. De esta manera, es esencialmente un conjunto de clases de middleware (los paneles) agrupados para mostrar una única barra de herramientas. Cada panel subclasifica una clase de panel base y anula algunos métodos para representar la barra de herramientas.


Foto por winkyintheUK.

6. Use Django Unit Testing

Las pruebas unitarias son una excelente manera de garantizar que sus cambios en el código funcionen como se espera y no rompan ningún código anterior para mantener la compatibilidad con versiones anteriores. Una gran característica de Django es que es increíblemente fácil escribir pruebas unitarias. Django ofrece la posibilidad de usar doctest o unittest directamente de la caja..

La documentación de Django ofrece un excelente tutorial y algunos ejemplos de código sobre cómo configurar pruebas unitarias para mantener su código funcionando sin problemas y detectar cualquier error desagradable..


Foto por dave_apple.

7. Use una hoja de trucos

Está engañando mal? Espero que no. Esta ingeniosa hoja de trucos de 2 páginas contiene algunas pepitas de oro al alcance del brazo que uno podría tener que escarbar alrededor de la documentación de Django para encontrar.

La hoja de trucos presenta estos temas útiles:

Plantillas

  • Etiquetas de plantillas y sus opciones
  • Filtros de plantillas y sus opciones.
  • Referencia rápida de sintaxis de formato de fecha

Modelos

  • Campos y sus opciones.
  • Opciones de campo comunes
  • Opciones de la clase meta
  • Opciones de ModelAdmin

Formas

  • Campos y sus opciones.
  • Opciones de campo comunes
  • Claves de mensajes de error estándar

Todos sabemos que el tiempo dedicado a examinar la documentación es el tiempo empleado en no resolver los problemas del mundo a través del código. Y ningún buen programador quiere eso..


Foto por quimpg.

8. Utilizar Django-Chunks

Django-chunks es esencialmente una forma de crear bloques de código reutilizado en sus plantillas. Excepto que la creación de los bloques se hace aún más fácil usando el editor de texto enriquecido de Django.

Bueno, esencialmente le permite a alguien definir "fragmentos" (quise llamarlo bloques, pero eso sería muy confuso por razones obvias) de contenido en su plantilla que se puede editar directamente desde la increíble interfaz de administración de Django. Lanzar un control de editor de texto enriquecido encima lo hace aún más fácil.

Al replicar bits de código reutilizable, django-chunks garantiza que las partes del diseño se puedan cambiar rápida y fácilmente, si es necesario. Si bien django-chunks es realmente solo un modelo y una etiqueta de plantilla, puede acelerar enormemente el desarrollo al replicar procesos..


Foto de Vince Huang..

9. Utilizar Memcache

Si el rendimiento va a ser un problema con su aplicación de Django, querrá instalar algún tipo de almacenamiento en caché. Mientras que Django ofrece muchas opciones para el almacenamiento en caché, la mejor con diferencia es memcached. Instalar y usar memcached es bastante fácil con Django si usa el módulo cmemcache. Una vez que se instala el módulo, solo cambia una opción de configuración y sus páginas de Django se servirán iluminándose rápidamente.


Foto de Lastrandy..

10. Deja de hackear los scripts juntos y solo usa Django

Si aún no comprendes completamente el poder de Django después de leer este artículo, hay un razonamiento lógico para usar Django en tu próximo proyecto: ahorras tiempo al hackear diseños con diferentes conjuntos de software. Jeff Croft explica por qué crear un proyecto en Django es mucho más eficiente que tratar de hackear los scripts.

Ahora, si está acostumbrado a crear sitios utilizando una aplicación de blog (Wordpress, TXP, etc.) como CMS, está acostumbrado a obtener todo eso de forma gratuita. Pero también estás incorporando muchas cosas que quizás no quieras (a menos que, por supuesto, estés construyendo un blog). La limitación que encontré al usar una aplicación de blogs para mi sitio personal es que quería que fuera algo más que un blog. Tan pronto como traté de piratear un blog en una galería de fotos, en una fuente de enlaces, en una base de datos de estadísticas, en un juego de Sudoku o en cualquier otra cosa que pudiera pensar, las cosas empezaron a complicarse. También construí un sitio web en el que traté de usar una aplicación de foros de discusión (vBulletin) como CMS, y obtuve los mismos resultados. Funcionó - más o menos - pero no era extensible, era muy astuto y, en general, era poco elegante.

Con Django, obtienes todas estas cosas y ninguna de las limitaciones de una aplicación de blogging..

Django le permite expandir su sitio web literalmente en cualquier dirección sin tener que preocuparse por piratear el diseño o asegurarse de que los scripts y las bases de datos sean compatibles. Es solo trabajos.


Foto por JennyHuang.
  • Suscríbase a la fuente RSS de NETTUTS para ver más tutoriales y artículos de desarrollo web diarios..

Glen Stansberry es un desarrollador web y bloguero que ha luchado más veces de lo que desea admitir con CSS. Puedes leer más consejos sobre desarrollo web en su blog Web Jackalope..

Si has encontrado útil esta publicación, por favor di las gracias con un Digg o Stumble.