Nel 2007 l’agenzia web svizzera Divio AG ha ri­la­scia­to il CMS django, basato sul­l'o­mo­ni­mo framework. Come il framework, ri­la­scia­to nel 2005, anche il CMS è scritto nel lin­guag­gio di pro­gram­ma­zio­ne Python, motivo per cui riesce ad accedere ad una grande quantità di librerie. Il col­le­ga­men­to a Django fa sì che il CMS abbia au­to­ma­ti­ca­men­te accesso a tutti gli strumenti e agli ag­gior­na­men­ti del framework.

Rea­liz­za­re il sito dei sogni con il framework Django e con il CMS django

Il CMS django si è affermato in poco tempo nella scena dei CMS open source. Ciò è dovuto so­prat­tut­to allo stretto legame con il framework, che ha reso il progetto sin dal­l'i­ni­zio molto complesso. Django è stato definito un framework di ultima ge­ne­ra­zio­ne, come quello basato su Ruby, Ruby on Rails. Questi si con­trad­di­stin­guo­no dal fatto che si ap­pog­gia­no su codici omonimi. Così un pro­gram­ma­to­re Django deve scrivere meno della metà del codice rispetto ad esempio ad un pro­gram­ma­to­re PHP. È il caso anche del­l'o­mo­ni­mo CMS, che convince so­prat­tut­to per le seguenti ca­rat­te­ri­sti­che:

  • Struttura modulare delle pagine, diversi contenuti già pre­im­po­sta­ti basati su blocchi;
  • Codice del front end con velocità e banda larga ot­ti­miz­za­te;
  • In­te­gra­zio­ne molto facile di plug-in nuovi e di quelli già esistenti;
  • In­ter­fac­cia drag&drop intuitiva e user-friendly;
  • In­te­gra­zio­ne semplice di sorgenti dati complesse.

I vantaggi di django chia­ri­sco­no perché il CMS è così in­te­res­san­te sia per gli svi­lup­pa­to­ri che per i redattori. Creando le pagine e i contenuti, i relativi blocchi si spostano con il mouse nella posizione de­si­de­ra­ta, in­di­pen­den­te­men­te si tratti di testi, foto, video o moduli. Il sistema crea una struttura ad albero e da questa, se si desidera, risultano au­to­ma­ti­ca­men­te dei menu. La la­vo­ra­zio­ne dei blocchi è possibile sia dal back end che di­ret­ta­men­te dal front end ed è con­ve­nien­te so­prat­tut­to se si vogliono so­sti­tui­re a po­ste­rio­ri degli elementi in un sito già attivo, se non in­te­grar­li o eli­mi­nar­li. Sono a di­spo­si­zio­ne dei tipi di contenuti già pre­im­po­sta­ti come pagine di blog, FAQ o annunci, in modo da dover inserire solo i dati. Molti altri elementi per il sito si trovano su django CMS Mar­ket­pla­ce e su GitHub. Potete scaricare queste esten­sio­ni gra­tui­ta­men­te, chiamate su django template, plug-in e add-on, ed in­te­grar­le sul vostro sito. Potete combinare e provare qualsiasi elemento, e se non siete sod­di­sfat­ti, potete sempre annullare le modifiche in qualsiasi momento. Vi ac­cor­ge­re­te in fretta di quanto tempo ri­spar­mie­re­te nella creazione del vostro sito, uti­liz­zan­do i moduli già pronti. Se vi manca una funzione e avete le co­no­scen­ze ne­ces­sa­rie per lavorare con Python, potete anche creare una vostra esten­sio­ne. Anche in questo caso il framework di base si dimostra molto utile: infatti Django si occupa della co­mu­ni­ca­zio­ne con il database e crea au­to­ma­ti­ca­men­te delle maschere di am­mi­ni­stra­zio­ne e moduli per le proprie sorgenti dati. Inoltre avete anche a di­spo­si­zio­ne una grande quantità di ap­pli­ca­zio­ni.

Le funzioni del CMS django

Come molti altri CMS open source, i punti di forza di django risiedono nella ver­sa­ti­li­tà, che deriva so­prat­tut­to dal numero di add-on in continua crescita, che con­sen­to­no di ag­giun­ge­re sempre nuove funzioni. Ma in­di­pen­den­te­men­te da queste esten­sio­ni, il sistema vanta già di per sé un’ampia scelta di funzioni, grazie al download di template ag­giun­ti­vi:

  • Funzione di modifica tramite doppio click: con un doppio click sui testi, sulle immagini, sui pulsanti o su altri contenuti si apre una finestra per mo­di­fi­ca­re l’elemento scelto.
  • La­vo­ra­zio­ne dal front end: la modifica di tutti i contenuti è possibile anche di­ret­ta­men­te dal front end.
  • Plug-in riu­ti­liz­za­bi­li: le esten­sio­ni per il CMS possono essere uti­liz­za­te in diverse parti del sito.
  • Gestione di siti diversi: gestione di siti diversi tramite lo stesso pannello di am­mi­ni­stra­zio­ne.
  • Ar­chi­tet­tu­ra fles­si­bi­le: tutti gli elementi possono essere po­si­zio­na­ti li­be­ra­men­te all’interno del sito.
  • Gestione dei permessi: as­se­gna­zio­ne dei permessi specifica per ogni utente.
  • Gestione di versioni diverse: tutte le modifiche al progetto possono essere salvate e possono essere ri­pri­sti­na­te anche in seguito.
  • Funzione mul­ti­lin­gua: è possibile che tutte le pagine e i contenuti siano di­spo­ni­bi­li in diverse lingue; tramite regole si può stabilire come com­por­tar­si, se un contenuto non è di­spo­ni­bi­le nella lingua de­si­de­ra­ta.
  • Gestione dei contenuti mul­ti­me­dia­li: è possibile gestire fa­cil­men­te tutti i tipi di file mul­ti­me­dia­li come immagini, PDF, video, ecc.

Quali pos­si­bi­li­tà offre il CMS django per il SEO, l’e-commerce e simili?

Con il CMS django è possibile curare l’aspetto dell’ot­ti­miz­za­zio­ne per i motori di ricerca. Infatti per ogni pagina creata, potete inserire un titolo e una de­scri­zio­ne per­so­na­liz­za­ti e anche gli URL possono essere mo­di­fi­ca­ti, in modo da essere scan­sio­na­ti più fa­cil­men­te dai motori di ricerca (in­di­pen­den­te­men­te dai titoli dei menu, ecc.). In aggiunta, ci sono anche una serie di esten­sio­ni, come ad esempio djangocms-page-meta. Con questo template è possibile per­so­na­liz­za­re gli snippet per Google+, Facebook e inserire anche delle Twitter Cards, in modo che compaiano nei risultati di ricerca. Con django, al contrario di altri CMS, non è però possibile gestire un negozio online. Una soluzione è data da un software e-commerce apposito django-shop, l’aggiunta ideale per il vostro CMS, che si basa sul framework Django. Altri template utili per django sono:

  • djangocms-blog: software per creare un blog con articoli in più lingue;
  • Aldryn MailChimp: plug-in che collega il CMS al software per new­slet­ter MailChimp;
  • Aldryn Video: ottima esten­sio­ne per integrare video;
  • cmsplugin_facebook: integra alcune funzioni di Facebook, come il pulsante “Mi piace“.

Con­clu­sio­ne: un CMS con enormi po­ten­zia­li­tà

Il CMS django mette a di­spo­si­zio­ne degli ottimi strumenti, grazie ai quali non solo è possibile creare e gestire i siti web, ma si possono anche svi­lup­pa­re delle proprie ap­pli­ca­zio­ni. Nella maggior parte dei casi si possono generare au­to­ma­ti­ca­men­te delle pagine e mo­di­fi­ca­re tutti gli elementi tramite doppio click o drag&drop. Grazie alle diverse esten­sio­ni, a cui se ne ag­giun­go­no sempre di nuove grazie alla community, potete rea­liz­za­re dei progetti complessi. In par­ti­co­la­re, il CMS django è un’ottima scelta per i siti di piccole e medie imprese, che non vogliono ri­vol­ger­si a servizi esterni per ogni piccola modifica. Sul sito di django potete scaricare la nuova versione del CMS o provare la versione demo. Qui avete a di­spo­si­zio­ne delle pagine di esempio su cui potete provare fa­cil­men­te le funzioni di django tramite “edit”, dopo un po’ di tempo le modifiche vengono au­to­ma­ti­ca­men­te annullate. Per poter in­stal­la­re questo CMS open source, servono i seguenti requisiti:

  • Python
  • Il framework Django
  • Post­gre­SQL o MySQL
  • html5lib (la libreria di Python)
  • le esten­sio­ni django-classy-tag, django-treebeard, django-sekizai e djangocms-admin-style (tutte di­spo­ni­bi­li su GitHub)
Vai al menu prin­ci­pa­le