Django 2.0: Neue Version des Python-Webframeworks

Django 2.0 gibt die Unterstützung für Python 2 endgültig auf. Das URL-Routing lässt sich jetzt auch ohne reguläre Ausdrücke aufsetzen.

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen
Django 2.0: Neue Version des Python-Webframeworks
Lesezeit: 2 Min.
Von
  • Dr. Oliver Diedrich

Ernsthafte Webentwicklung bedeutet heutzutage in der Regel den Einsatz eines Webframeworks, das dem Entwickler viele Routinetätigkeiten abnimmt. In der Python-Welt ist Django, benannt nach dem Jazz-Gitarristen Django Reinhardt, seit zehn Jahren das Webframework der Wahl. Konkurrenten wie Flask konnten bislang nur Nischen besetzen.

Django setzt konsequent das Model-View-Controller-Konzept um, kapselt Datenbankzugriffe über eine objektrelationale Abbildung und generiert automatisch eine Oberfläche zur Verwaltung von Datenbank und Benutzern. Das Framework enthält eine leistungsfähige Template-Sprache und bietet eine flexible URL-Konfiguration.

Die frisch erschienene Version 2.0 ist trotz des großen Versionssprungs weitgehend rückwärtskompatibel zur Vorversion 1.11 – mit einer Ausnahme: Django 2 arbeitet nur noch mit Python 3.4, 3.5 und 3.6 zusammen. Wer noch Python 2.7 nutzt, muss bei Django 1.11 bleiben, das als LTS-Version noch bis April 2020 Sicherheits- und kritische Bugfixes erhalten soll. Django 1.10 hat mit dem Erscheinen der neuen Version das Ende des Supports erreicht.

Mit dem neuen Release kommt ein neues Versionierungsschema, das die Python-Macher im Blog-Beitrag zur neuen Version als eine "lockere Form von semantischer Versionierung" bezeichnen. Zukünftig soll es zwei Minor Versions ohne Langzeit-Support (2.0, 2.1) und dann eine LTS-Version (2.2) geben. Anschließend folgt eine neue Major Version (3.0). Die wird dann entsprechend mit Version 3.2 Langzeit-Support erhalten.

Zu den wichtigsten technischen Neuerungen in Django 2.0 gehört eine vereinfachte Syntax zum URL-Routing, die ohne reguläre Ausdrücke auskommt: Statt

url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive)

kann man jetzt auch

path('articles/<int:year>/', views.year_archive)

schreiben.

Die automatisch generierte Adminoberfläche ist jetzt responsiv. Zahlreiche weitere Neuerungen, darunter auch die neuen Window Expressions, erläutern die Django 2.0 release notes. (odi)