Web-Framework Django 1.9 ermöglicht parallele Tests

Die aktuelle Version des in Python geschriebene Frameworks ermöglicht zudem das Ausführen von Aktionen nach einer erfolgreichen Datenbanktransaktion und soll verhindern, dass Nutzer zu schwache Passwörter verwenden.

In Pocket speichern vorlesen Druckansicht
Web-Framework Django 1.9 ermöglicht parallele Tests
Lesezeit: 2 Min.

Django ist ein Web-Framework, das die MVC-Architektur nutzt wie Ruby on Rails oder das PHP-Framework Symfony. Es richtet sich vor allem an Entwickler datenbankgestützer Webanwendungen. Der neue on_commit()-Hook erlaubt passend dazu, Aktionen wie das Senden einer Mail oder das Bereinigen des Caches nach dem Abschluss einer erfolgreichen Datenbanktransaktion auszuführen. Ursprünglich befand sich die Funktion im separaten django-transaction-hooks-Paket.

Aus dem Nebenprojekt django-braces stammen die neuen Permission Mixins, die den Zugriff auf Ansichten steuern. Damit können Entwickler beispielsweise die Umleitung auf eine Log-in-Seite automatisieren, Benutzerdaten prüfen und die Zugriffsverweigerung handhaben.

Eine weitere neue Funktion soll den Einsatz schwacher Passwörter verhindern. Die Einstellungen für AUTH_PASSWORD_VALIDATORS erlauben beispielsweise das Festlegen einer minimalen Länge oder den Vergleich mit zu häufig verwendeten Passwörtern. Auch der Abgleich mit den Nutzerdaten ist möglich, um zu verhindern, dass ein Benutzer beispielsweise seinen Nachnamen als Teil des Passworts verwendet.

Die Testabläufe soll die --parallel-Option verbessern. Mit ihr können Entwickler mehrere Tests parallel ablaufen lassen, bei denen jeder Prozess seine eigene Datenbank bekommt. Diese Funktion steht nicht auf Windows zur Verfügung ist unterstützt nicht den Einsatz einer Oracle-Datenbank im Backend. Zudem muss der Tester sicherstellen, dass die parallelen Szenarien voneinander getrennt sind und beispielsweise nicht auf dieselben Dateien zugreifen.

Im Gegensatz zu Version 1.8 ist Django 1.9 keine LTS-Variante (Long Term Support). Bis zum großen Sprung auf 2.x sieht die Roadmap noch die Veröffentlichung von Version 1.10 und 1.11 vor. Letztere soll wieder LTS bekommen. Erst für Dezember 2017 planen die Macher Django 2.0.

Alle neuen Funktionen sind in den Release Notes aufgeführt. Django 1.9 benötigt Python 2.7, 3.4 oder 3.5. Das Web-Framework ist quelloffen unter der BSD-Lizenz verfügbar. Die Download-Seite führt verschiedene Methoden auf, wie Entwickler die aktuelle Version herunterladen können.

(rme)