Webframework: Asynchrone Schnittstelle und Ansichten bei Django 4.1
Das Webframework Django bietet in Version 4.1 eine asynchrone Schnittstelle zum ORM und kann auch asynchrone Handler für klassenbasierte Views definieren.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/3/5/8/6/1/6/4/shutterstock_755806180.jpg-c0cd4d61bb366277.jpeg)
(Bild: Shutterstock/chanpipat)
- Frank-Michael Schlede
Obwohl erst vor circa einem halben Jahr eine neue Hauptversion des auf Python basierenden Webframeworks veröffentlicht wurde, hat das Entwicklerteam der Django Software Foundation jetzt bereits mit der Version 4.1 das nächste Release vorgestellt. Trotz des scheinbar kleinen Versionssprungs wurden einige neue Features eingepflegt und es gibt auch eine Abkündigung.
Mainstream-Support für letzte Hauptversion beendet
Die Version 4.0 von Django, die erst Anfang Dezember 2021 erschienen ist, hat laut den Aussagen im Entwickler-Blog nun bereits das Ende des Mainstream-Supports erreicht. Die letzte Version 4.0.7 mit kleineren Fehlerbehebungen wurde zeitgleich mit dem aktuellen 4.1-Release veröffentlicht. Das Entwicklerteam kündigt aber an, dass sie für Django 4.0 bis April 2023 auch weiterhin Sicherheitsupdates und Patches zur Verfügung stellen werden. Zugleich raten sie allen, bereits vor diesem Zeitpunkt ein Upgrade durchzuführen, um vor Sicherheitsproblemen geschützt zu sein.
Django 4.1 unterstützt Python in den Versionen 3.8, 3.9, und 3.10. Die Entwickler und Entwicklerinnen des Django-Teams empfehlen dringend, nur die neueste Version der jeweiligen Serie zu verwenden, da sie nur diese auch offiziell unterstützen. Zu den Neuheiten in der Version 4.1 gehört unter anderem eine asynchrone ORM-Schnittstelle. ORM steht für Object-relational Mapping (objektrelationalen Abbildung), eine Technik für die Konvertierung von Daten zwischen relationalen Datenbanken und objektorientierten Programmiersprachen. Mit dieser Programmiertechnik können Objekte auf die Strukturen einer relationalen Datenbank abgebildet werden.
Weiterhin haben Programmiererinnen und Programmierer nun die Möglichkeit, asynchrone Handler für klassenbasierte Views zu definieren. Django kann dabei asynchrone Ansichten automatisch finden und führt sie dann auch in einem asynchronen Kontext aus. Mehr über die asynchrone Unterstützung von Django und wie man asynchrone Views am besten nutzen kann, erfahren Interessierte in der Online-Dokumentation unter Asynchronous Support.
Barrierefreiheit beim Rendern von Formularen¶
Um Benutzerinnen und Benutzern mit Screenreadern und anderen unterstützenden Technologien zu helfen, sind ab dieser Version neue <div>
-basierte Formularvorlagen verfügbar. Diese sollen eine zugänglichere Navigation als die älteren Vorlagen bieten. So können Entwicklerinnen und Entwickler verwandte Steuerelemente wie beispielsweise Optionslisten korrekt in Feldgruppen gruppieren. Das Django-Team empfiehlt ausdrücklich die neuen Vorlagen, die ab der Version 5.0 von Django dann auch zum standardmäßigen Rendering-Stil für Formulare werden, wenn ein Formular wie {{ form }}
in einer Vorlage ausgegeben wird. Um die Übernahme des neuen Ausgabestils zu erleichtern, sind die standardmäßigen Formular- und Formularsatzvorlagen jetzt auf Projektebene über die Einstellung FORM_RENDERER
konfigurierbar.
Ausführliche Informationen zu den unterstützten Django-Versionen sowie eine Roadmap der kommenden Releases finden Interessierte auf der Download-Seite des Projekts. Eine Anleitung für die Installation und den schnellen Einstieg steht ebenfalls auf der Webseite zur Verfügung.
(fms)