Django Unchained: 3 Gründe, warum wir auf das Framework Django setzen

Warum nutzt Feinheit eigentlich Django statt der allbekannten Lösung WordPress? Ist die Geschichte dazu tatsächlich so abenteuerlich wie Django Unchained? Beziehungsweise, was sind Django und WordPress überhaupt?

Um das Mysterium zu lüften, haben wir uns mal wieder an ein klassisches Listicle gewagt. Diese Erzählform ist zwar nicht neu, dafür aber um einiges verdaulicher als der blutige Western von Tarantino.

Django, WordPress, CMS, Framwork, Wix... bringen wir doch erst mal etwas Ordnung in das Nerd-Bingo, sodass auch Nicht-Programmierer*innen verstehen, um was es geht.

  • Framework: Ein Baukasten, der einen erlaubt, in relativ kurzer Zeit individuelle Lösungen umzusetzen. Dieser besteht aus Tools, Bibliotheken u. a., welche kombiniert und individualisiert werden können. Damit können bspw. Prototypen gemacht, Datenbanken gestaltet und natürlich auch Weboberflächen gestaltet werden.
  • Website Building Tools / SaaS (= Software as a Service): Es gibt einige Anbieter, die gegen einen monatliche Gebühr einfache Packages anbieten, welche sowohl Designoptionen, Hosting und Webadresse beinhalten.
  • CMS: Steht für Content-Management-System und ist der Ort, wo Inhalte einfach erfasst werden können, welche dann auf der Besucher*innen-Oberfläche der Website dargestellt werden.

Wo verordnen sich nun die verschiedenen Anbieter in dieser Liste?

  • Django ist ein Framework.
  • Squarespace und Wix sind Website Building Tools / SaaS.
  • WordPress und Typo3 sind bekannte CMS Lösungen.

Gut, nun sind wir gerüstet und können endlich das sehnsüchtig erwartete Listicle beginnen. Welche Vorteile hat Django gegenüber anderen Lösungen, insbesondere WordPress?

1. Django ist wirklich modular.

Während Django also eine Toolbox ist, ist WordPress eigentlich ein Dashboard, wo man sowohl Inhalte erfassen kann (CMS) wie auch Plugins installiert, welche die Funktionalitäten des ursprünglichen Blog-CMS erweitern und individualisieren. Diese Modularität ist aber nicht ganz so stark, wie sie scheint: Sollen spezifische Anforderungen realisiert werden, wie dies bei komplexen Projekten häufig der Fall ist, ist dies mit den angebotenen Plugins nicht per se möglich.

«Wenn WordPress ein Schweizer Taschenmesser ist, dann ist Django eine ganze Werkstatt.»

Klar, manchmal hat man Glück, und es gibt schon ein Plugin mit genau dem gewünschten Aussehen, den gewünschten Features und den gewünschten Möglichkeiten für die Weiterverarbeitung der Daten. (Die Wahrscheinlichkeit ist zwar klein, aber doch höher als siebenmal von einem Blitz getroffen zu werden – was aber durchaus auch vorkommen kann.) Häufig ändern sich über die Lebensdauer einer Webseite hinweg aber die Anforderungen, es braucht gewisse Anpassungen. Dann heisst es zurück auf Feld 1 und die Suche nach dem passenden Plugin beginnt von vorne.

Falls sich die ersten zwei Absätze etwas zu abstrakt anhören, hier die einfache, prägnante Zusammenfassung: Wir pressen die Anforderungen der Kundschaft nicht in ein bestehendes CMS rein, sondern bauen auf dem CMF (Content Management Framework) ein zugeschnittenes Interface. So erhält man ein CMS ohne Schnickschnack und hundert Buttons, die nie gebraucht werden. Ändern sich die Anforderungen – was andauernd geschieht –, passen wir das CMS an, was vergleichsweise einfach möglich ist weil wir auf einem Framework aufbauen. Es ist wie die Website ein lebendiges Objekt.

2. Django ist sicher.

Hackingangriffe sind längst nicht mehr Szenarien, welche nur in Actionfilmen oder bei Grosskonzernen vorkommen. In einer Zeit, wo Daten Gold Wert sind, sollte man es Hacker*innen nicht zu einfach machen. 2018 waren 90% aller gehackten, CMS-nutzenden Website WordPress. Klar, WordPress ist das verbreitetste CMS (64 % aller Seiten mit CMS nutzen es), trotzdem sollten sich gerade grössere Unternehmungen überlegen, ob sie tatsächlich mit einer Lösung arbeiten wollen, die – auch wegen der rasanten Verbreitung – Hacker*innen lockt.

3. Django ist unchained.

Django ist ein Open Source Projekt und aufwändig dokumentiert. Die Libraries, welche wir zusätzlich einsetzen ebenfalls. Dadurch halten sich allfällige Aufwände bei der Übergabe im Rahmen. Klar ist es unser Ziel, unsere Kundschaft nicht nur beim (Re-)Launchen, sondern auch bei der Weiterentwicklung und Pflege zu begleiten. Doch sollte aus irgendwelchen Gründen eine Trennung anfallen, können Code und Daten mitgenommen werden.

Was heisst das nun? Im Gegensatz wie man nun meinen könnte, verteufeln wir WordPress nicht per se. Vielleicht ist auch nicht Wordpress unsicher, sondern die zahlreichen Plugins, welche man für eine komplexe Plattform brauchen würden. Sprich für Blogger*innen ist es eine solide Lösung. Und für Kleinunternehmen mögen Dienste wie Squarespace perfekt passen. Wer jedoch ein skalierbares Projekt hat, wo allenfalls sogar noch Daten gesammelt und verarbeitet werden sollen, dem raten wir klar zu Django.

Feinheit x Django
Feinheit profitiert dabei nicht nur von der Arbeit der Open Source Community, sondern versucht sich auch darin, ein guter OSS Citizen zu sein und zurückzugeben. Wenn immer möglich lagern wir entwickelte Funktionen in Libraries aus, welche wir als Open Source Code veröffentlichen. Diese können somit auch bei anderen Projekten und auch durch Dritte genutzt werden. Beispiele für solche Libraries sind feincms3, django-tree-queries, django-cabinet etc.