django CMS – ein Blick auf das Python-System
Die Schweizer Webagentur Divio AG veröffentlichte 2007 das freie django CMS, das auf dem gleichnamigen Webapplikations-Framework Django basiert. Wie das 2005 erschienene Framework ist auch das Content-Management-System in der Programmiersprache Python geschrieben, wodurch es auf eine große Zahl an Bibliotheken zurückgreifen kann. Die Verknüpfung zu Django macht es möglich, dass django CMS automatisch auf sämtliche Tools und Weiterentwicklungen des Web-Frameworks zurückgreifen 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 Verbindung mit dem Framework zurückzuführen, durch die das Projekt schon von Beginn an sehr komplex war. Django wird ähnlich wie das auf Ruby basierende Framework Ruby on Rails als ein Web-Framework der nächsten Generation bezeichnet. Diese zeichnen sich vor allem dadurch aus, dass die Codes aufeinander aufbauen. Ein Django-Programmierer muss somit weniger als die Hälfte an Code schreiben als beispielsweise ein PHP-Programmierer. Das zeigt sich auch im django CMS, das vor allem durch folgende Eigenschaften überzeugt:
- modularer Aufbau der Seitenstruktur, diverse vorgefertigte blockbasierte Inhalte
- geschwindigkeits- und bandbreitenoptimierter Frontend-Code
- sehr einfache Integrierung existierender und Entwicklung neuer Plug-ins
- intuitives, nutzerfreundliches Drag-and-Drop-Interface
- komplexe Datenquellen sind mit geringem Aufwand eingebunden
Die Vorzüge von django CMS verdeutlichen, was dieses Content-Management-System sowohl für Editoren als auch für Entwickler so interessant macht. Bei der Gestaltung der Seiten und Inhalte bewegen Sie die jeweiligen Inhaltsblöcke – ob Text, Foto, Video oder Formular – mit der Maus an die gewünschte Stelle. Das System erstellt Seitenbäume und daraus resultierende Menüs auf Wunsch automatisch. Die Bearbeitung 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 nachträglich Elemente austauschen bzw. integrieren oder entfernen möchten. Diverse vorgefertigte Content-Typen wie Blogseiten, FAQs oder Stellenanzeigen sind bereits vordefiniert, sodass Sie nur noch Ihre Daten einfügen müssen. Neben den Standardtypen finden Sie im django CMS Marketplace und auf GitHub hunderte weiterer Website-Elemente. Diese Content-Erweiterungen, die im Fall von django CMS als Templates, Plug-ins oder Add-ons bezeichnet werden, können Sie kostenfrei herunterladen und in Ihr Projekt einbinden. Kombinieren und erproben Sie die einzelnen Website-Teile beliebig – Änderungen können Sie jederzeit zurücknehmen. Sie werden schnell feststellen, wie viel Zeit Sie durch die vorgefertigten Module bei der Erstellung Ihres Webprojektes gewinnen. Wenn Sie eine Funktion vermissen und über das notwendige Python-Know-how verfügen, können Sie auch einfach eine eigene Erweiterung erstellen. Hierbei erweist sich das Basis-Framework wiederum als sehr nützlich: Django übernimmt die Kommunikation mit der Datenbank und erstellt automatisch Administrator-Masken und Formulare für Ihre eigenen Datenquellen. Zusätzlich können Sie sich aus der Vielzahl an vorhandenen Django-Applikationen bedienen.
Die django-CMS-Features im Überblick
Wie bei vielen anderen Open-Source-CMS liegt die Stärke von django CMS in der Vielseitigkeit, die besonders aus der immer größer werdenden Zahl an Add-ons, die neue Funktionen ermöglichen, resultiert. Unabhängig von diesen Erweiterungen weist das System aber allein durch den Download zusätzlicher django-CMS-Templates einen beachtlichen Umfang an Features auf:
- Doppelklick-Editierfunktion: Per Doppelklick auf Texte, Bilder, Buttons oder anderen Content öffnet sich ein Pop-up-Fenster mit dem jeweiligen Bearbeitungsmodus.
- Frontend-Bearbeitung: Das Editieren aller verwendeten Inhaltsblöcke ist auch direkt im Frontend möglich.
- wiederverwendbare Plug-ins: django-CMS-Erweiterungen können in unterschiedlichen Website-Bereichen verwendet werden
- Multisites: Verwaltung mehrerer Websites über dasselbe Administrator-Interface
- flexible Architektur: Alle Elemente sind frei positionierbar.
- Rechteverwaltung: spezifische Rechtevergabe für jeden Benutzer
- Versionsverwaltung: Alle Veränderungen am Projekt werden gespeichert und können somit schrittweise wiederhergestellt werden.
- Mehrsprachigkeit: Alle Seiten und Inhalte können in mehreren Sprachversionen existieren; durch Regeln kann man bestimmen, was geschehen soll, wenn der jeweilige Inhalt nicht in der Zielsprache verfügbar ist.
- Medienverwaltung: einfaches Managen aller Medientypen wie Bilder, PDFs, Videos etc.
Welche Möglichkeiten bietet django CMS für SEO, E-Commerce und Co.?
Mit django CMS als Content-Management-System für Ihre Website kommt der Aspekt der Suchmaschinenoptimierung nicht zu kurz: Für jede angelegte Seite können Sie Title und Description individuell angeben und auch die URL lässt sich suchmaschinenfreundlich gestalten – separat von eigentlichen Menütiteln etc. Zusätzlich gibt es auch eine Reihe von Erweiterungen, z. B. djangocms-page-meta. Das Template macht es möglich, Ihren Suchergebnissen Snippets von Facebook (Open Graph) sowie Twitter Cards hinzuzufügen.
Einen Onlineshop können Sie mit django CMS im Vergleich zu anderen Content-Management-Systemen nicht verwalten. Mit der eigenständigen E-Commerce-Software django-shop gibt es allerdings eine adäquate Lösung, die ebenfalls auf das Framework Django zurückgreift und damit die perfekte Ergänzung zu django CMS darstellt.
Weitere nützliche django-CMS-Templates:
- djangocms-blog: Blog-Software für mehrsprachige Beiträge
- Aldryn MailChimp: Plug-in, das django CMS mit der Newsletter-Software MailChimp verbindet
- Aldryn Video: elegante Erweiterung zur Einbettung von Videos
- cmsplugin_facebook: integriert Facebook-Features wie den „Gefällt-mir“-Button
Fazit: django CMS mit riesigem Entwicklungspotenzial
django CMS stellt Ihnen exzellente Werkzeuge zur Verfügung, mit denen Sie nicht nur Websites erstellen und verwalten, sondern auch eigenständige Apps entwickeln können. Funktionale Seiten können Sie zum Großteil automatisiert erzeugen und sämtliche Elemente einfach per Doppelklick und Drag-and-Drop bearbeiten. Dank verschiedenster Erweiterungen, zu denen von der Community ausgehend immer neue hinzukommen, realisieren Sie selbst komplexe Projekte. Insbesondere für den Webauftritt kleinerer und mittelständiger Unternehmen, die nicht für jede technische Neuerung auf externe Hilfe angewiesen sein wollen, ist django CMS eine ausgezeichnete Wahl. Auf der django-CMS-Homepage können Sie sich die neueste Version des Content-Management-Systems herunterladen oder die Demo-Version nutzen. Dort stehen Ihnen Beispielseiten zur Verfügung, auf denen Sie die django-CMS-Features via „Edit“ ganz einfach ausprobieren – nach einem gewissen Zeitraum werden Ihre Änderungen automatisch zurückgesetzt. Um das Open-Source-System installieren zu können, werden folgende Komponenten vorausgesetzt:
- Python
- Django (Framework)
- PostgreSQL oder MySQL
- html5lib (Python-Bibliothek)
- die Erweiterungen django-classy-tag, django-treebeard, django-sekizai und djangocms-admin-style (alle auf GitHub verfügbar)