Die Schweizer Web­agen­tur Divio AG ver­öf­fent­lich­te 2007 das freie django CMS, das auf dem gleich­na­mi­gen Web­ap­pli­ka­ti­ons-Framework Django basiert. Wie das 2005 er­schie­ne­ne Framework ist auch das Content-Ma­nage­ment-System in der Pro­gram­mier­spra­che Python ge­schrie­ben, wodurch es auf eine große Zahl an Bi­blio­the­ken zu­rück­grei­fen kann. Die Ver­knüp­fung zu Django macht es möglich, dass django CMS au­to­ma­tisch auf sämtliche Tools und Wei­ter­ent­wick­lun­gen des Web-Frame­works zu­rück­grei­fen kann.

Mit Django und django CMS zur Traum-Website

django CMS hat sich innerhalb kürzester Zeit in der Szene der Open-Source-CMS etabliert. Das ist vor allem auf die enge Ver­bin­dung mit dem Framework zu­rück­zu­füh­ren, durch die das Projekt schon von Beginn an sehr komplex war. Django wird ähnlich wie das auf Ruby ba­sie­ren­de Framework Ruby on Rails als ein Web-Framework der nächsten Ge­ne­ra­ti­on be­zeich­net. Diese zeichnen sich vor allem dadurch aus, dass die Codes auf­ein­an­der aufbauen. Ein Django-Pro­gram­mie­rer muss somit weniger als die Hälfte an Code schreiben als bei­spiels­wei­se ein PHP-Pro­gram­mie­rer. Das zeigt sich auch im django CMS, das vor allem durch folgende Ei­gen­schaf­ten überzeugt:

  • modularer Aufbau der Sei­ten­struk­tur, diverse vor­ge­fer­tig­te block­ba­sier­te Inhalte
  • ge­schwin­dig­keits- und band­brei­ten­op­ti­mier­ter Frontend-Code
  • sehr einfache In­te­grie­rung exis­tie­ren­der und Ent­wick­lung neuer Plug-ins
  • in­tui­ti­ves, nut­zer­freund­li­ches Drag-and-Drop-Interface
  • komplexe Da­ten­quel­len sind mit geringem Aufwand ein­ge­bun­den

Die Vorzüge von django CMS ver­deut­li­chen, was dieses Content-Ma­nage­ment-System sowohl für Editoren als auch für Ent­wick­ler so in­ter­es­sant macht. Bei der Ge­stal­tung der Seiten und Inhalte bewegen Sie die je­wei­li­gen In­halts­blö­cke – ob Text, Foto, Video oder Formular – mit der Maus an die ge­wünsch­te Stelle. Das System erstellt Sei­ten­bäu­me und daraus re­sul­tie­ren­de Menüs auf Wunsch au­to­ma­tisch. Die Be­ar­bei­tung der Blöcke ist entweder im Backend oder direkt im Frontend möglich. Das ist vor allem dann von Vorteil, wenn Sie bei einer bereits aktiven Website nach­träg­lich Elemente aus­tau­schen bzw. in­te­grie­ren oder entfernen möchten. Diverse vor­ge­fer­tig­te Content-Typen wie Blog­sei­ten, FAQs oder Stel­len­an­zei­gen sind bereits vor­de­fi­niert, sodass Sie nur noch Ihre Daten einfügen müssen. Neben den Stan­dard­ty­pen finden Sie im django CMS Mar­ket­place und auf GitHub hunderte weiterer Website-Elemente. Diese Content-Er­wei­te­run­gen, die im Fall von django CMS als Templates, Plug-ins oder Add-ons be­zeich­net werden, können Sie kos­ten­frei her­un­ter­la­den und in Ihr Projekt einbinden. Kom­bi­nie­ren und erproben Sie die einzelnen Website-Teile beliebig – Än­de­run­gen können Sie jederzeit zu­rück­neh­men. Sie werden schnell fest­stel­len, wie viel Zeit Sie durch die vor­ge­fer­tig­ten Module bei der Er­stel­lung Ihres Web­pro­jek­tes gewinnen. Wenn Sie eine Funktion vermissen und über das not­wen­di­ge Python-Know-how verfügen, können Sie auch einfach eine eigene Er­wei­te­rung erstellen. Hierbei erweist sich das Basis-Framework wiederum als sehr nützlich: Django übernimmt die Kom­mu­ni­ka­ti­on mit der Datenbank und erstellt au­to­ma­tisch Ad­mi­nis­tra­tor-Masken und Formulare für Ihre eigenen Da­ten­quel­len. Zu­sätz­lich können Sie sich aus der Vielzahl an vor­han­de­nen Django-Ap­pli­ka­tio­nen bedienen.

Die django-CMS-Features im Überblick

Wie bei vielen anderen Open-Source-CMS liegt die Stärke von django CMS in der Viel­sei­tig­keit, die besonders aus der immer größer werdenden Zahl an Add-ons, die neue Funk­tio­nen er­mög­li­chen, re­sul­tiert. Un­ab­hän­gig von diesen Er­wei­te­run­gen weist das System aber allein durch den Download zu­sätz­li­cher django-CMS-Templates einen be­acht­li­chen Umfang an Features auf:

  • Dop­pel­klick-Edi­tier­funk­ti­on: Per Dop­pel­klick auf Texte, Bilder, Buttons oder anderen Content öffnet sich ein Pop-up-Fenster mit dem je­wei­li­gen Be­ar­bei­tungs­mo­dus.
  • Frontend-Be­ar­bei­tung: Das Editieren aller ver­wen­de­ten In­halts­blö­cke ist auch direkt im Frontend möglich.
  • wie­der­ver­wend­ba­re Plug-ins: django-CMS-Er­wei­te­run­gen können in un­ter­schied­li­chen Website-Bereichen verwendet werden
  • Mul­ti­si­tes: Ver­wal­tung mehrerer Websites über dasselbe Ad­mi­nis­tra­tor-Interface
  • flexible Ar­chi­tek­tur: Alle Elemente sind frei po­si­tio­nier­bar.
  • Rech­te­ver­wal­tung: spe­zi­fi­sche Rech­te­ver­ga­be für jeden Benutzer
  • Ver­si­ons­ver­wal­tung: Alle Ver­än­de­run­gen am Projekt werden ge­spei­chert und können somit schritt­wei­se wie­der­her­ge­stellt werden.
  • Mehr­spra­chig­keit: Alle Seiten und Inhalte können in mehreren Sprach­ver­sio­nen exis­tie­ren; durch Regeln kann man bestimmen, was geschehen soll, wenn der jeweilige Inhalt nicht in der Ziel­spra­che verfügbar ist.
  • Me­di­en­ver­wal­tung: einfaches Managen aller Me­di­en­ty­pen wie Bilder, PDFs, Videos etc.

Welche Mög­lich­kei­ten bietet django CMS für SEO, E-Commerce und Co.?

Mit django CMS als Content-Ma­nage­ment-System für Ihre Website kommt der Aspekt der Such­ma­schi­nen­op­ti­mie­rung nicht zu kurz: Für jede angelegte Seite können Sie Title und De­scrip­ti­on in­di­vi­du­ell angeben und auch die URL lässt sich such­ma­schi­nen­freund­lich gestalten – separat von ei­gent­li­chen Me­nü­ti­teln etc. Zu­sätz­lich gibt es auch eine Reihe von Er­wei­te­run­gen, z. B. djangocms-page-meta. Das Template macht es möglich, Ihren Such­ergeb­nis­sen Snippets von Facebook (Open Graph) sowie Twitter Cards hin­zu­zu­fü­gen.

Einen On­line­shop können Sie mit django CMS im Vergleich zu anderen Content-Ma­nage­ment-Systemen nicht verwalten. Mit der ei­gen­stän­di­gen E-Commerce-Software django-shop gibt es al­ler­dings eine adäquate Lösung, die ebenfalls auf das Framework Django zu­rück­greift und damit die perfekte Ergänzung zu django CMS darstellt.

Weitere nützliche django-CMS-Templates:

  • djangocms-blog: Blog-Software für mehr­spra­chi­ge Beiträge
  • Aldryn MailChimp: Plug-in, das django CMS mit der News­let­ter-Software MailChimp verbindet
  • Aldryn Video: elegante Er­wei­te­rung zur Ein­bet­tung von Videos
  • cmsplugin_facebook: in­te­griert Facebook-Features wie den „Gefällt-mir“-Button

Fazit: django CMS mit riesigem Ent­wick­lungs­po­ten­zi­al

django CMS stellt Ihnen ex­zel­len­te Werkzeuge zur Verfügung, mit denen Sie nicht nur Websites erstellen und verwalten, sondern auch ei­gen­stän­di­ge Apps ent­wi­ckeln können. Funk­tio­na­le Seiten können Sie zum Großteil au­to­ma­ti­siert erzeugen und sämtliche Elemente einfach per Dop­pel­klick und Drag-and-Drop be­ar­bei­ten. Dank ver­schie­dens­ter Er­wei­te­run­gen, zu denen von der Community ausgehend immer neue hin­zu­kom­men, rea­li­sie­ren Sie selbst komplexe Projekte. Ins­be­son­de­re für den Web­auf­tritt kleinerer und mit­tel­stän­di­ger Un­ter­neh­men, die nicht für jede tech­ni­sche Neuerung auf externe Hilfe an­ge­wie­sen sein wollen, ist django CMS eine aus­ge­zeich­ne­te Wahl. Auf der django-CMS-Homepage können Sie sich die neueste Version des Content-Ma­nage­ment-Systems her­un­ter­la­den oder die Demo-Version nutzen. Dort stehen Ihnen Bei­spiel­sei­ten zur Verfügung, auf denen Sie die django-CMS-Features via „Edit“ ganz einfach aus­pro­bie­ren – nach einem gewissen Zeitraum werden Ihre Än­de­run­gen au­to­ma­tisch zu­rück­ge­setzt. Um das Open-Source-System in­stal­lie­ren zu können, werden folgende Kom­po­nen­ten vor­aus­ge­setzt:

  • Python
  • Django (Framework)
  • Post­greS­QL oder MySQL
  • html5lib (Python-Bi­blio­thek)
  • die Er­wei­te­run­gen django-classy-tag, django-treebeard, django-sekizai und djangocms-admin-style (alle auf GitHub verfügbar)
Zum Hauptmenü