Zum Hauptinhalt Zur Navigation Zur Suche

Webframeworks: Django 1.3 basiert noch auf Python 2.4

Django 1.3 soll die letzte Version des Webframeworks sein, die auf Python 2.4 basiert. Neben zahlreichen Fehlerkorrekturen haben die Entwickler klassenbasierte Views implementiert und das Webframework greift auf die Logging-Funktionalität von Python zu.
/ Jörg Thoma
14 Kommentare undefined News folgen (öffnet im neuen Fenster)

Im Python-basierten Webframework Django 1.3(öffnet im neuen Fenster) sind hauptsächlich zahlreiche Fehler korrigiert und bestehende Funktionen verbessert worden. Es ist die letzte Version, die zu Python 2.4 kompatibel sein wird. Django 1.4 soll bereits auf Python 2.5 basieren. Zudem haben die Entwickler einige neue Funktionen implementiert, darunter klassenbasierte Views und ein externes Modul zur Integration von statischen Elementen, etwa CSS-Dateien.

Ab Django 1.3 ist es möglich, Views als Klassen(öffnet im neuen Fenster) zu definieren statt wie bisher über Funktionen. Zudem greift Django 1.3 auf das Logging-Modul von Python zu, was die Konfiguration der Protokollierung weiter vereinfachen soll. Zudem wurde der Django-Code um eigene Logging-Aufrufe(öffnet im neuen Fenster) erweitert, etwa E-Mails, die nach einem HTTP-500-Fehler versendet werden.

Ein externes Modul mit dem Namen django.contrib.staticfiles(öffnet im neuen Fenster) erlaubt es, Javascript-, CSS- oder Bilddateien an anderer Stelle zu speichern statt wie bisher im Wurzelverzeichnis des Webservers. Zudem haben die Entwickler die Bibliothek Unittest2(öffnet im neuen Fenster) aus Python 2.7 zurückportiert, um sie mit Django 1.3 verwenden zu können.

Die Verwendung von Templates wurde verbessert: Der Include-Tag ermöglicht etwa die Optionen "with", um Kontextvariablen definieren zu können. Zudem können über den With-Tag mehrere Kontextvariablen definiert werden.

Das Caching wurde ebenfalls erweitert, etwa um multiple Named-Caches oder die Möglichkeit, systemweit über "version" definierte Werte zwischenzuspeichern. Zudem kann über Cache-Key-Prefixing auf zwischengespeicherte Schlüssel auch auf anderen Servern zugegriffen werden.

Mit der aktuellen Version treten auch einige Inkompatibilitäten(öffnet im neuen Fenster) zu vorherigen Versionen auf, etwa, da die CSRF-Validation (Cross Site Request Forgery) auf Ajax-Anfragen ausgeweitet wurde. Zudem haben die Entwickler einige Funktionen entfernt, die nicht mehr zeitgemäß waren, darunter die Unterstützung für das Apache-Modul mod_python, das seit 2008 nicht mehr gepflegt wird.

Django 1.3 ist unter der BSD-Lizenz veröffentlicht und steht auf den Servern des Projekts zum Download(öffnet im neuen Fenster) bereit.


Relevante Themen