django CMS, el gestor para redactores basado en Python

En 2007, la agencia suiza de marketing Divio AG lanzó el CMS libre django, basado en el framework para aplicaciones web con el mismo nombre aparecido en 2005. Ambos están escritos en el lenguaje de programación Python, un lenguaje que hace hincapié en la legibilidad del código y que puede recurrir a una gran cantidad de librerías. El vínculo con el framework Django hace posible que este joven gestor de contenidos disponga automáticamente y se beneficie de varias herramientas y evoluciones propias del framework.

Django y django CMS: la pareja ideal para tu proyecto

En un corto plazo de tiempo, django CMS se ha afianzado en la escena de los CMS de código abierto. Esto se debe a la estrecha conexión con el framework que lo precede, por lo que desde sus comienzos ya era un proyecto bastante complejo. Django es considerado, de forma parecida al framework Ruby on Rails basado en Ruby, como un framework web de la próxima generación, lo que significa que sus códigos se construyen unos sobre otros. Así, un programador de Django escribe menos de la mitad del código que, por ejemplo, un programador de PHP. Esto es patente en el django CMS, que convence, sobre todo, por estas características:

  • Construcción modular de la estructura de la página y bloques de contenidos prediseñados
  • Un código frontend optimizado en cuanto a velocidad y banda ancha
  • Sencilla integración de plugins y desarrollo de otros nuevos
  • Interfaz drag and drop intuitiva y de fácil manejo

Las ventajas de django CMS dejan claro por qué este gestor de contenidos es tan atractivo tanto para editores como para desarrolladores. En cuanto al diseño de las páginas, los bloques (ya sean de texto, visuales, o formularios) se colocan en el lugar deseado arrastrándolos con el ratón. Si se desea, el sistema crea estructuras de páginas y sus menús resultantes de forma automática. La elaboración y la gestión de los módulos se puede realizar tanto en el backend como en el frontend, algo muy útil cuando se trata de cambiar, integrar o eliminar a posteriori elementos de una página que ya está online. Además, dispone de diversas plantillas prediseñadas adaptadas a tipos de contenido como páginas de blog, FAQ (preguntas frecuentes) o descripciones de ofertas de empleo, de tal forma que solo hay que introducir el texto en los campos. Junto con los tipos estándar preestablecidos, en la página de django CMS y en GitHub se pueden descargar de forma gratuita cientos de elementos de contenido de código abierto (plantillas, plugins o complementos) que se pueden integrar en el proyecto. Todos estos elementos se pueden combinar y probar con total tranquilidad pues su integración es reversible, es decir, si un elemento no acaba de encajar se desinstala fácilmente. En la práctica, salta pronto a la vista el trabajo y el tiempo que se ahorra gracias a estos módulos prediseñados. Cuando se cuenta con los conocimientos necesarios sobre el lenguaje Python, es fácil crear una extensión propia para una función específica que se necesita pero no está incluida en la página. Aquí se demuestra de nuevo la utilidad del framework básico, ya que Django se encarga de la comunicación con la base de datos y crea automáticamente máscaras de administradores y formularios para tus propias fuentes de datos. También es posible hacer uso de las diversas aplicaciones disponibles de Django.

Características principales de django CMS

De forma similar a como sucede con otros gestores de contenido de código abierto, el punto fuerte de django CMS radica en gran cantidad de complementos disponibles. Sin embargo, independientemente de estas extensiones, la mayoría de plantillas de django CMS ya ofrecen un amplio abanico de funciones, como por ejemplo:

  • Edición por doble clic: haciendo doble clic en textos, imágenes, botones u otros elementos de contenido, se abre una ventana pop up que indica el modo de edición que le corresponde.
  • Edición en frontend: es posible editar los módulos utilizados directamente en el frontend.
  • Plugins reutilizables: las extensiones de django CMS se pueden usar en distintos apartados de la página web.
  • Multisites: en una interfaz de administración se pueden gestionar varias páginas.
  • Arquitectura flexible: todos los elementos se pueden colocar libremente.
  • Gestión de los permisos: adjudicación específica de permisos de acceso para cada usuario.
  • Administración de versiones: todos los cambios que se realizan en un proyecto se guardan y se pueden volver a revisar después uno a uno.
  • Multilingüismo: todas las páginas y todos los contenidos se pueden elaborar en varios idiomas y determinar acciones para cuando un contenido no esté disponible en el idioma de destino.
  • Administración de contenido visual: gestión muy sencilla de todo tipo de medios como imágenes, vídeos, documentos PDF, etc.

Las opciones de django CMS para SEO y eCommerce

Si aspiras a tener una página optimizada para los buscadores, con django CMS lo tienes fácil. Con él es posible elaborar un título y una descripción para cada página de forma individual, así como el URL. Gracias a una serie de extensiones disponibles, por ejemplo, en GitHub, es posible añadir snippets para Open Graph (Facebook) y para Twitter Cards a los resultados de búsqueda.

Al diferencia de otros gestores de contenido, con django CMS no es posible gestionar tiendas online, aunque el software autónomo django-shop puede ser una solución adecuada que también se apoya en el framework Django, siendo el complemento perfecto al CMS

Otras plantillas de django CMS muy útiles:

  • djangocms-blog: software para blogs con publicaciones en varios idiomas
  • Aldryn MailChimp: plugin que vincula el gestor de contenidos con el software de correo electrónico MailChimp
  • Aldryn Video: extensión para la integración de vídeos
  • cmsplugin_facebook: funciones de Facebook integradas como el botón “Me gusta”

Resumen: el gran potencial de django CMS

django CMS dispone de excelentes herramientas no solo para la creación y administración de páginas web, sino también para el desarrollo de aplicaciones independientes. El CMS permite, además, la creación automática de páginas funcionales y la elaboración de elementos sencillamente arrastrándolos con el ratón o por doble clic. Constantemente aparecen nuevas extensiones con las cuales el usuario puede realizar proyectos complejos, esta son desarrolladas principalmente por la comunidad de Django. Este CMS es una muy buena elección para webs de pequeñas o medianas empresas que no quieren depender de ayuda externa para implementar cada cambio técnico. En la página oficial de django CMS se puede descargar su última versión o la de prueba. También se encuentran páginas de ejemplo en las cuales se pueden probar fácilmente las características del gestor mediante la función “Editar” y los cambios son reversibles tras un determinado plazo. Estos son los requisitos imprescindibles del sistema para poder instalar este gestor de contenidos:

  • Python
  • Framework Django
  • PostgreSQL o MySQL
  • html5lib (librería Python)
  • las extensiones classy tag, treebeard, sekizai und djangocms-admin-style, todas disponibles en GitHub
¿Le ha resultado útil este artículo?
Page top