Django Upgrade 2026 ohne Stillstand von 4.2 auf eine sichere Version
Django 4.2 erhält keine Sicherheitsupdates mehr. So planen Sie den Umstieg auf Django 5.2 LTS oder 6.1 schrittweise und mit Tests.
Seit dem 7. April 2026 bekommt Django 4.2 keine Sicherheitsupdates mehr. Die letzte Version dieser Reihe war 4.2.30, wie die Django-Downloadübersicht ausweist. Trotzdem laufen unzählige Geschäftsanwendungen, Kundenportale und interne Plattformen genau auf diesem Stand, denn 4.2 war drei Jahre lang die solide LTS Version, auf die sich alle verlassen haben. Wenn Ihr Team dazugehört, ist ein Django Upgrade jetzt kein Projekt mehr für irgendwann.
Hier erfahren Sie, welche Zielversion zu Ihnen passt, wie ein Django Upgrade in der Praxis abläuft, wo die typischen Fallen liegen und wie Sie den Wartungsrhythmus langfristig planen.
Warum ein Django Upgrade gerade jetzt fällig ist
Django pflegt seine Versionen nach einem klaren Schema. Normale Releases bekommen etwa 16 Monate lang Fixes, LTS Versionen rund drei Jahre. Für 4.2 ist diese Zeit abgelaufen, ebenso für 5.0 und 5.1. Sicherheitsupdates gibt es derzeit nur noch für 5.2 LTS und 6.0.
Dass 4.2 insgesamt 30 Patch Releases bekommen hat, zeigt, wie regelmäßig das Django Team nachbessert. Ein Teil davon waren Sicherheitsfixes, etwa gegen SQL Injection oder Denial of Service. Alles, was ab jetzt gefunden wird, bleibt in 4.2 offen. Angreifer lesen die Sicherheitsmeldungen übrigens genauso aufmerksam wie Entwickler.
Dazu kommt Druck von unten. Viele Anwendungen auf Django 4.2 laufen noch auf Python 3.10, und dessen Support erreicht laut offizieller Python-Versionsübersicht im Oktober 2026 sein vorgesehenes Ende. Was das für die Planung bedeutet, erläutert auch unser Beitrag zu Python 3.10 End of Life. Beliebte Drittpakete können die Unterstützung für alte Django Versionen nach und nach einstellen. Wer wartet, muss später mehr auf einmal bewegen.
Ob Sie betroffen sind, sehen Sie in wenigen Sekunden. In requirements.txt, pyproject.toml oder im Lockfile steht die genaue Version von Django. Steht dort 5.1, 5.0, 4.2 oder etwas noch Älteres, ist ein Django Upgrade fällig.
Die aktuellen Versionen im Überblick
Bevor Sie ein Django Upgrade planen, lohnt ein kurzer Blick auf den Fahrplan.
- Django 5.2 LTS erschien im April 2025 und bekommt Sicherheitsupdates bis April 2028. Es ist die letzte Reihe, die noch Python 3.10 und 3.11 unterstützt.
- Django 6.0 kam im Dezember 2025 und setzt Python 3.12 voraus. Neu sind unter anderem eine eingebaute Content Security Policy, Template Partials, ein Framework für Hintergrundaufgaben und die Umstellung auf die moderne Schnittstelle von Python für Mails. Support gibt es bis April 2027. Die Details dokumentieren die offiziellen Release Notes zu Django 6.0.
- Django 6.1 wird nach dem derzeitigen Fahrplan im August 2026 erwartet. Ob diese Reihe für Sie passt, lässt sich erst nach Veröffentlichung mit den dann gültigen Release Notes und den unterstützten Datenbankversionen beurteilen.
- Für spätere Versionen sollten Sie die Zielentscheidung jeweils am veröffentlichten Supportzeitraum und an den Release Notes ausrichten, statt eine heute noch nicht veröffentlichte Version fest einzuplanen.
Welche Zielversion passt zu Ihnen?
Für die meisten Teams mit Django 4.2 empfehlen wir beim Django Upgrade zwei Etappen. Zuerst geht es auf 5.2 LTS. Der Sprung ist überschaubar, die Version ist ausgereift und bis 2028 abgesichert. Im gleichen Zug heben wir Python auf eine aktuell unterstützte Version wie 3.12 oder 3.13, sofern die übrige Infrastruktur dazu passt. Vor einem späteren Wechsel prüfen wir den dann geltenden Django Fahrplan erneut.
Anders sieht es aus, wenn Sie Ihr Produkt aktiv weiterentwickeln und bereits auf Python 3.12 oder neuer sind. Dann kann es sinnvoll sein, gleich 6.0 als Ziel zu wählen, um die Hintergrundaufgaben oder die Content Security Policy zu nutzen. Django 6.1 ist bis zu seiner Veröffentlichung lediglich eine spätere Option. Der Preis einer normalen Release Reihe ist ein kürzerer Supportzeitraum und damit ein engerer Rhythmus für Updates.
Neue Funktionen, die sich schnell bezahlt machen
Wer ohnehin aktualisiert, kann einiges mitnehmen. Die eingebaute Unterstützung für eine Content Security Policy in Django 6.0 hilft dabei, die passenden Sicherheitsheader ohne zusätzliches Paket zu setzen, wenn die Richtlinie sorgfältig konfiguriert ist. Das Framework für Hintergrundaufgaben gibt Ihnen eine einheitliche Schnittstelle für Jobs wie Mailversand oder Importe. Für den Betrieb braucht es weiterhin einen Worker, Ihr Code bleibt aber unabhängig davon, welches Backend dahinter läuft. Template Partials machen Oberflächen mit htmx deutlich aufgeräumter, weil sich kleine Bausteine direkt in einer Vorlage definieren lassen. Funktionen einer erst erwarteten 6.1 sollten Sie erst nach deren Veröffentlichung verbindlich einplanen.
So läuft ein Django Upgrade in der Praxis ab
Ein gutes Django Upgrade ist kein Big Bang. Es ist eine Folge kleiner, überprüfbarer Schritte. So gehen wir vor.
1. Bestandsaufnahme
Wir sehen uns die Versionen von Django, Python und Datenbank an und dazu alle installierten Pakete. Besonders wichtig sind Erweiterungen für Login, REST APIs, Hintergrundjobs und das Admin. Für jedes Paket prüfen wir, ob es eine Version für das Ziel gibt und ob es überhaupt noch gepflegt wird.
2. Warnungen sichtbar machen
Django kündigt Änderungen mit Deprecation Warnings an, bevor Funktionen verschwinden. Wir lassen die Testsuite mit allen Warnungen laufen und arbeiten die Liste ab. Jede Warnung zeigt, was in einer der nächsten Versionen fehlen wird.
3. Version für Version vorgehen
Statt blind von 4.2 auf 5.2 zu springen, gehen wir über 5.0 und 5.1. Nach jedem Schritt muss die Testsuite grün sein. Das klingt langsamer, ist am Ende aber schneller, weil sich jeder Fehler eindeutig einer Änderung zuordnen lässt.
4. Drittpakete aktualisieren oder ersetzen
Verwaiste Pakete sind der häufigste Grund, warum ein Django Upgrade länger dauert als geplant. Oft gibt es einen gepflegten Nachfolger. Manchmal ist es einfacher, die benötigte Funktion selbst zu bauen.
5. Datenbank und Infrastruktur prüfen
Für die gewählte Zielversion prüfen wir die unterstützten Datenbankversionen ebenso wie Testumgebungen, CI und lokale Setups der Entwickler. Gerade vor einem späteren Wechsel auf eine noch nicht veröffentlichte Django Version gehört diese Kompatibilitätsprüfung in die konkrete Planung.
6. Ausrollen mit Sicherheitsnetz
Beim Django Upgrade testen wir vor dem Livegang in einer Stagingumgebung mit realistischen Daten. Der Rollout folgt mit Monitoring und einem dokumentierten Rollback.
Was Sie intern vorbereiten können
Ein Django Upgrade läuft deutlich glatter, wenn ein paar Dinge vorab geklärt sind. Benennen Sie eine Ansprechperson, die fachliche Fragen schnell beantworten kann. Legen Sie fest, welche Abläufe wirklich geschäftskritisch sind, denn genau diese testen wir am gründlichsten. Planen Sie für den Livegang ein Zeitfenster, in dem wenig los ist. Und schieben Sie große neue Features nach Möglichkeit hinter die heiße Phase, damit nicht zwei Baustellen gleichzeitig offen sind.
Typische Stolpersteine beim Umstieg
Manche Fallen tauchen bei fast jedem Django Upgrade auf. Wer sie kennt, plant sie von Anfang an ein.
- Zeitstempel und Zeitzonen sollten gezielt getestet werden. USE_TZ ist standardmäßig aktiv; wer die Einstellung bislang nicht explizit festgelegt hat, sollte sie dokumentieren und Berichte auf unerwartete Zeitverschiebungen prüfen.
- Die Unterstützung für pytz ist seit 5.0 entfernt. Alter Code mit pytz muss auf zoneinfo umgestellt werden.
- Formulare rendert Django seit 5.0 standardmäßig mit einem neuen, auf div basierenden Markup. Eigene Templates und CSS sehen dadurch womöglich anders aus.
- Ab Django 6.0 ist Python 3.12 Pflicht. Ein Django Upgrade auf 6.x ist deshalb oft auch ein Python Upgrade.
- Selbst gebaute Erweiterungen am Admin oder Monkey Patches an Interna von Django brechen gerne, weil sie sich auf Details verlassen, die nie offiziell zugesichert waren.
Womit Sie beim Aufwand rechnen sollten
Was ein Django Upgrade kostet, lässt sich seriös erst nach einem Blick in den Code sagen. Die Faktoren sind aber immer dieselben. Entscheidend sind Größe und Alter der Anwendung, die Testabdeckung, Zahl und Zustand der Drittpakete und die Frage, wie viele Abkürzungen über die Jahre in den Code gewandert sind.
Diese Faktoren schließen pauschale Zeitangaben aus. Deshalb starten wir meist mit einer klar begrenzten Analyse. Sie macht Abhängigkeiten, Risiken und den sinnvollen Ablauf sichtbar, bevor das eigentliche Django Upgrade beginnt.
Langfristig zahlt sich ein fester Wartungsrhythmus aus. Neue Releases von Django werden zeitnah bewertet, Abhängigkeiten regelmäßig aktualisiert, und die Testsuite kann gegen die nächste Version laufen. So bleiben Upgrades in der Regel kleiner und besser planbar. Ein nachvollziehbarer Updateprozess schafft zudem eine belastbarere Grundlage für Themen wie den Cyber Resilience Act.
Den Wartungsrhythmus langfristig planen
Djangos Release Planung entwickelt sich weiter. Für Entscheidungen, die über die heute unterstützten Reihen hinausgehen, sollten Teams deshalb den veröffentlichten Supportzeitraum und die Release Notes zum jeweiligen Zeitpunkt erneut prüfen. Eine noch nicht veröffentlichte Version ist keine belastbare Grundlage für eine technische oder wirtschaftliche Zusage.
Für Sie lohnt sich ein regelmäßiger Blick auf Abhängigkeiten, Tests und anstehende Versionswechsel. Wer sein Django Upgrade nicht über Jahre aufschiebt, kann den Umfang späterer Änderungen häufig begrenzen und Risiken früher erkennen.
Häufige Fragen zum Django Upgrade
Kann ich direkt von Django 4.2 auf 6.0 springen?
Technisch geht das, wir raten aber dazu, den Umstieg in nachvollziehbare Schritte zu zerlegen. Zwischen den Versionen liegen viele entfernte Funktionen, und Python muss mindestens auf 3.12 stehen. Der Weg über 5.2 LTS lässt sich meist besser testen. Django 6.1 sollte erst nach seiner Veröffentlichung als Ziel bewertet werden.
Wie lange wird Django 5.2 unterstützt?
Django 5.2 LTS bekommt Sicherheitsupdates bis April 2028. Damit ist es aktuell die sicherste Zwischenstation für Anwendungen, die von 4.2 kommen.
Müssen wir Python gleich mit aktualisieren?
Für Django 5.2 nur dann, wenn Sie noch Python 3.8 oder 3.9 nutzen, denn 5.2 braucht mindestens Python 3.10. Da Python 3.10 laut offizieller Versionsübersicht im Oktober 2026 sein vorgesehenes Supportende erreicht, kann es sinnvoll sein, beide Schritte gemeinsam zu planen. Ob das passt, hängt von Ihren Abhängigkeiten, Tests und der Infrastruktur ab.
Was passiert, wenn wir gar nichts tun?
Die Anwendung läuft weiter. Neue Lücken bleiben aber offen, einzelne Drittpakete können die Unterstützung einstellen, und jedes spätere Django Upgrade kann größer und aufwendiger werden.
Mit unserem Python Team sicher auf die neue Version
Wir entwickeln und betreuen Geschäftsanwendungen mit Django und Django REST Framework. Für Ihr Django Upgrade prüfen wir Code, Pakete und Infrastruktur, erarbeiten einen passenden Fahrplan und unterstützen auf Wunsch bei der Umsetzung. Auch eine laufende Wartung lässt sich danach passend zum System und zum Team aufsetzen.
Schreiben Sie uns kurz, auf welchem Stand Ihre Anwendung ist. In einer ersten Einschätzung klären wir, welche Abhängigkeiten und Upgradewege für Ihr System relevant sind. Weitere technische Einordnungen finden Sie in unseren Beiträgen.
PYTHONAUTS / KONKRET WERDEN
Den nächsten Schritt gemeinsam planen.
Wir analysieren mit Ihnen Code, Pakete und Infrastruktur und besprechen einen passenden Weg für Upgrade und Wartung.
Projekt besprechen