En 2007, la agencia suiza de marketing Divio AG lanzó el CMS libre django, basado en el framework para apli­ca­cio­nes web con el mismo nombre aparecido en 2005. Ambos están escritos en el lenguaje de pro­gra­ma­ción Python, un lenguaje que hace hincapié en la le­gi­bi­li­dad 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 co­n­te­ni­dos disponga au­to­má­ti­ca­me­n­te y se beneficie de varias he­rra­mie­n­tas y evo­lu­cio­nes 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 co­n­si­de­ra­do, de forma parecida al framework Ruby on Rails basado en Ruby, como un framework web de la próxima ge­ne­ra­ción, lo que significa que sus códigos se co­n­s­tru­yen unos sobre otros. Así, un pro­gra­ma­dor de Django escribe menos de la mitad del código que, por ejemplo, un pro­gra­ma­dor de PHP. Esto es patente en el django CMS, que convence, sobre todo, por estas ca­ra­c­te­rí­s­ti­cas:

  • Co­n­s­tru­c­ción modular de la es­tru­c­tu­ra de la página y bloques de co­n­te­ni­dos pre­di­se­ña­dos
  • Un código frontend op­ti­mi­za­do en cuanto a velocidad y banda ancha
  • Sencilla in­te­gra­ción de plugins y de­sa­rro­llo 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 co­n­te­ni­dos es tan atractivo tanto para editores como para de­sa­rro­lla­do­res. En cuanto al diseño de las páginas, los bloques (ya sean de texto, visuales, o fo­r­mu­la­rios) se colocan en el lugar deseado arra­s­trá­n­do­los con el ratón. Si se desea, el sistema crea es­tru­c­tu­ras de páginas y sus menús re­su­l­ta­n­tes de forma au­to­má­ti­ca. La ela­bo­ra­ció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 po­s­te­rio­ri elementos de una página que ya está online. Además, dispone de diversas pla­n­ti­llas pre­di­se­ña­das adaptadas a tipos de contenido como páginas de blog, FAQ (preguntas fre­cue­n­tes) o de­s­cri­p­cio­nes de ofertas de empleo, de tal forma que solo hay que in­tro­du­cir el texto en los campos. Junto con los tipos estándar pree­s­ta­ble­ci­dos, 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 (pla­n­ti­llas, plugins o co­m­ple­me­n­tos) que se pueden integrar en el proyecto. Todos estos elementos se pueden combinar y probar con total tra­n­qui­li­dad pues su in­te­gra­ción es re­ve­r­si­ble, es decir, si un elemento no acaba de encajar se des­in­s­ta­la fá­ci­l­me­n­te. En la práctica, salta pronto a la vista el trabajo y el tiempo que se ahorra gracias a estos módulos pre­di­se­ña­dos. Cuando se cuenta con los co­no­ci­mie­n­tos ne­ce­sa­rios sobre el lenguaje Python, es fácil crear una extensión propia para una función es­pe­cí­fi­ca 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 co­mu­ni­ca­ción con la base de datos y crea au­to­má­ti­ca­me­n­te máscaras de ad­mi­ni­s­tra­do­res y fo­r­mu­la­rios para tus propias fuentes de datos. También es posible hacer uso de las diversas apli­ca­cio­nes di­s­po­ni­bles de Django.

Ca­ra­c­te­rí­s­ti­cas pri­n­ci­pa­les 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 co­m­ple­me­n­tos di­s­po­ni­bles. Sin embargo, in­de­pe­n­die­n­te­me­n­te de estas ex­te­n­sio­nes, la mayoría de pla­n­ti­llas 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 co­rre­s­po­n­de.
  • Edición en frontend: es posible editar los módulos uti­li­za­dos di­re­c­ta­me­n­te en el frontend.
  • Plugins re­uti­li­za­bles: las ex­te­n­sio­nes de django CMS se pueden usar en distintos apartados de la página web.
  • Mu­l­ti­si­tes: en una interfaz de ad­mi­ni­s­tra­ción se pueden gestionar varias páginas.
  • Ar­qui­te­c­tu­ra flexible: todos los elementos se pueden colocar li­bre­me­n­te.
  • Gestión de los permisos: ad­ju­di­ca­ción es­pe­cí­fi­ca de permisos de acceso para cada usuario.
  • Ad­mi­ni­s­tra­ció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.
  • Mu­l­ti­li­n­güi­s­mo: todas las páginas y todos los co­n­te­ni­dos se pueden elaborar en varios idiomas y de­te­r­mi­nar acciones para cuando un contenido no esté di­s­po­ni­ble en el idioma de destino.
  • Ad­mi­ni­s­tra­ción de contenido visual: gestión muy sencilla de todo tipo de medios como imágenes, vídeos, do­cu­me­n­tos PDF, etc.

Las opciones de django CMS para SEO y eCommerce

Si aspiras a tener una página op­ti­mi­za­da para los bu­s­ca­do­res, con django CMS lo tienes fácil. Con él es posible elaborar un título y una de­s­cri­p­ción para cada página de forma in­di­vi­dual, así como el URL. Gracias a una serie de ex­te­n­sio­nes di­s­po­ni­bles, por ejemplo, en GitHub, es posible añadir snippets para Open Graph (Facebook) y para Twitter Cards a los re­su­l­ta­dos de búsqueda.

Al di­fe­re­n­cia 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 co­m­ple­me­n­to perfecto al CMS

Otras pla­n­ti­llas de django CMS muy útiles:

  • djangocms-blog: software para blogs con pu­bli­ca­cio­nes en varios idiomas
  • Aldryn MailChimp: plugin que vincula el gestor de co­n­te­ni­dos con el software de correo ele­c­tró­ni­co MailChimp
  • Aldryn Video: extensión para la in­te­gra­ción de vídeos
  • cmsplugin_facebook: funciones de Facebook in­te­gra­das como el botón “Me gusta”

Resumen: el gran potencial de django CMS

django CMS dispone de ex­ce­le­n­tes he­rra­mie­n­tas no solo para la creación y ad­mi­ni­s­tra­ción de páginas web, sino también para el de­sa­rro­llo de apli­ca­cio­nes in­de­pe­n­die­n­tes. El CMS permite, además, la creación au­to­má­ti­ca de páginas fu­n­cio­na­les y la ela­bo­ra­ción de elementos se­n­ci­lla­me­n­te arra­s­trá­n­do­los con el ratón o por doble clic. Co­n­s­ta­n­te­me­n­te aparecen nuevas ex­te­n­sio­nes con las cuales el usuario puede realizar proyectos complejos, esta son de­sa­rro­lla­das pri­n­ci­pa­l­me­n­te 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 im­ple­me­n­tar 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 en­cue­n­tran páginas de ejemplo en las cuales se pueden probar fá­ci­l­me­n­te las ca­ra­c­te­rí­s­ti­cas del gestor mediante la función “Editar” y los cambios son re­ve­r­si­bles tras un de­te­r­mi­na­do plazo. Estos son los re­qui­si­tos im­pre­s­ci­n­di­bles del sistema para poder instalar este gestor de co­n­te­ni­dos:

  • Python
  • Framework Django
  • Po­s­t­gre­S­QL o MySQL
  • html5lib (librería Python)
  • las ex­te­n­sio­nes classy tag, treebeard, sekizai und djangocms-admin-style, todas di­s­po­ni­bles en GitHub
Ir al menú principal