Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

13 extensiones indispensables en proyectos Django

Jesús Lucas
  • Escrito por Jesús Lucas el 12 de Junio de 2014
  • 4 min de lectura | Backend
13 extensiones indispensables en proyectos Django

Cuando comenzamos el desarrollo de aplicaciones o servicios todos hemos tenido más de un problema con el código, tanto mientras lo estamos escribiendo como cuando tenemos el proyecto en producción. Esto equivale a tiempo que tenemos que emplear para buscar las líneas que lanzan el fallo, corregirlas, reeditar, etc...

También podemos tener el caso de que pasamos la mayor parte del tiempo escribiendo módulos que usaremos como plantillas, con lo que tendremos una plantilla sí, pero habrá que depurarla para adecuarla a todos los contextos donde queramos implementarla y eso nos llevará más tiempo aún.

 

Para intentar ayudar en estos menesteres cotidianos del programador, os traemos una lista de herramientas que facilitan y mejoran aún más si cabe el entorno de desarrollo con Django. Todas ellas se implementan excelentemente en la paquetería base de Django, por lo que sólo nos daremos que están ahí cuando las queramos usar.

Empezamos!

iPython

Se trata de un Shell interactivo que suma funcionalidades al que ya de por sí integra Python. Cuenta con soporte para código, texto, expresiones matemáticas, etc... También cuenta con un módulo que podremos precargar en nuestros propios proyectos.

Django debug toolbar

Gracias a esta herramienta podemos obtener información de lo que Django está haciendo en cada momento además de ofrecernos información sobre los tiempos de ejecución que tanto preocupan a los administradores de hostings.

Django-reversion

Si queremos implementar un histórico de cambios sobre los modelos de nuestros proyectos, estamos ante la herramienta adecuada. Bastará con indicarle los modelos sobre los que queremos que registre los cambios, para que se ponga manos a la obra almacenándolos en formato JSON dentro de una tabla llamada django-reversion y podamos contar con este histórico para tener mayor control sobre nuestro proyecto.

Django-grappelli

Una potente interfaz de administración para poder gestionar los datos de nuestros proyectos web desde un único panel. Cuenta con plugins jQuery, temas personalizables además de otras características sorprendentes. Podremos editar y actualizar la información de nuestros proyectos desde una única interfaz amigable y resolutiva, que de vez en cuando nos recordará a un CMS convencional.

Django-extras

El objetivo de este paquete es el de ofrecer extensiones para Django que resuelvan situaciones comunes de desarrollo que aún no están cubiertas por defecto por esta plataforma (Django). Entre estas extensiones encontramos apoyo en conflictos con modelos mixins para ayudar con la asignación de propietarios a modelos, decoradores adicionales, campos modelo y formas adicionales, etc...

Crispy-forms

Esta herramienta nos proporciona un filtro |crispy y una etiqueta {% crispy %} que nos permitirá tomar el control sobre el comportamiento de las representaciones de formas de Django muy fácilmente. Además se integra muy bien en la paquetería de Django, por lo que no nos 'estorbará' en ningún momento durante el desarrollo del código.

Floppy-forms

De forma similar a crispy-forms nos ayudará en la producción de formas y su representación. La diferencia con respecto a cómo ejecuta el código, es que los campos y widgets de la aplicación se renderizan mediante plantillas en lugar de usar cadenas en interpolación, con lo que mejoramos enormemente la producción y el uso de las plantillas que Django nos proporciona. Nos permitirá personalizar y extender el comportamiento de los widgets, puesto que sus propios widgets incorporan características de HTML5 como pueden ser el marcador de posición, el requerimiento de atributos o los nuevos tipos <input>.

Virtualenv

Permite crear entornos Python aislados. Con esto queremos decir, que podremos mantener una aplicación sin tenerla que actualizar, ya que cualquier cambio en sus librerías o dependencias podría comprometer el correcto funcionamiento de la misma.

Fabric

Herramienta y librería de Python para línea de comandos, que nos facilitará la tarea de desplegar aplicaciones vía SSH.

Haystack

Haystack es un motor de búsqueda modular para Django que nos ofrece una API unificada que puede conectar diferentes back-ends de búsqueda sin tocar una sola línea de código. Viene acompañado de una interfaz para realizar búsquedas, muy similar a QuerySets de Django que tiene por nombre SearchQuerySet.

Tastypie

En Tastypie encontramos un framework API de servicios web de Django. Nos ofrece un conveniente y poderoso a la par que personalizable interfaz muy similar a REST. Podremos crear en unos minutos y con unas pocas líneas de código un API para nuestro proyecto. Es una de las herramientas de esta lista que tiene una amplísima documentación que facilitará enormemente su implementación y desarrollo.

Celery

Este paquete nos facilita una cola de tareas para nuestro proyecto en Django, que centra sus miras principalmente en el procesamiento en tiempo real de las órdenes, a la vez que brinda soporte a la programación de tareas.

Easy-thumbnails

Tal y como su nombre indica, estamos frente a un gestor de miniaturas muy potente y versátil. Básicamente crea miniaturas de imágenes existentes y si la información de la imagen fuente es modificada rectificará la miniatura generando una nueva que contenga la información actualizada. Cuenta con un amplísimo repertorio de opciones con las que trabajar y configurar las miniaturas de nuestro proyecto, además de una comunidad muy volcada en el desarrollo de esta herramienta.

Esperamos que esta información os sea de ayuda, eso lo espero; lo que sí que os ayudará a todos es el increíble curso de programación con Django que podéis encontrar en el catálogo de cursos de Openwebinars.net , y que además tiene un comienzo muy próximo... Un tutor de amplia experiencia en el sector nos guiará gracias a la metodología de webinars por un entorno de desarrollo profesional y desarrollaremos un microblog al estilo Twitter.

Recordad también suscribiros para estar al día de los webinars, artículos y noticias de interés del mundo de la programación, el software libre o las nuevas tecnologías de la información en general.

 

Imagen: Justin Lilly Lightning talk7. Por yashh

 

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars