Tech-Blog

Python, Django & mehr

Praxisartikel aus über 20 Jahren Backend-Entwicklung — 28 Artikel zu Django, Wagtail, Testing, Celery, PostgreSQL, Docker, Redis, FastAPI und mehr.

15 Artikel
TestingPython

Unit-Tests ohne Framework: reine Python-Logik & Services testen

Die wertvollsten Tests brauchen oft gar kein Framework. Wer Geschäftslogik von Django entkoppelt, testet sie schnell, isoliert und stabil — hier zeige ich wie.

8. Juni 2026→ 12 min
TestingDjango

Django-Tests: Models, Views und Forms richtig testen

Models, Views und Forms brauchen je eigene Teststrategien. Hier zeige ich, wie man jede Ebene gezielt und wartbar testet — ohne die Suite langsam zu machen.

2. Juni 2026→ 13 min
TestingPython

Mocking & Patching: externe Abhängigkeiten in Tests isolieren

Sobald Code eine externe API ruft, Zeit liest oder E-Mails sendet, wird Testen kniffelig. Mocking isoliert diese Abhängigkeiten — hier die Muster, die wirklich tragen.

27. Mai 2026→ 13 min
TestingDjango

Fixtures & Factory Boy: Testdaten sauber aufbauen

Schlechte Testdaten machen Tests brüchig und schwer lesbar. Mit pytest-Fixtures und Factory Boy baust du Testdaten, die wiederverwendbar, sprechend und wartbar sind.

21. Mai 2026→ 12 min
TestingPython

Test-Driven Development (TDD) in der Praxis

TDD wird viel gepredigt und selten sauber gezeigt. Hier durchlaufe ich den Red-Green-Refactor-Zyklus an einem echten Beispiel — und sage ehrlich, wann er sich lohnt.

15. Mai 2026→ 13 min
TestingDjango

Integrationstests & Testabdeckung (Coverage) messen

Unit-Tests allein reichen nicht — irgendwann muss das Zusammenspiel stimmen. Hier kläre ich Integrationstests, Coverage-Messung und warum 100% kein sinnvolles Ziel sind.

9. Mai 2026→ 12 min
TestingDRF

API-Tests mit Django REST Framework & pytest

Eine API ohne Tests ist ein Versprechen ohne Deckung. Hier zeige ich, wie man DRF-Endpunkte mit pytest testet — von Statuscodes über Auth bis zu Permissions.

3. Mai 2026→ 13 min
WagtailPerformance

Wagtail-Performance: StreamField & Seiten-Queries optimieren

Wagtail-Sites werden selten durch Wagtail selbst langsam — sondern durch ungezählte Queries, ungecachte StreamFields und unoptimierte Bilder. Hier die wichtigsten Hebel.

2. Juni 2026→ 13 min
WagtailMigrations

Bestehende Wagtail-Site sicher auf eine neue Version migrieren

Ein Wagtail-Upgrade ist kein "pip install -U wagtail". Wer produktive Sites mit Inhalten migriert, braucht eine Strategie — hier meine erprobte Reihenfolge.

28. Mai 2026→ 12 min
WagtailStreamField

Wagtail StreamField erweitern: eigene Blocks nachrüsten

StreamField lebt von guten Blöcken. Hier zeige ich, wie du bestehende Wagtail-Seiten um eigene, robuste und redakteursfreundliche Blöcke erweiterst.

22. Mai 2026→ 12 min
WagtailWartung

Wagtail-Wartung: Upgrades, Security-Patches, Monitoring

Eine Wagtail-Site ist kein "einmal gebaut, läuft für immer". Hier die Wartungsroutine, mit der Kundenseiten sicher und aktuell bleiben.

16. Mai 2026→ 11 min
WagtailAPI

Headless Wagtail: die API für ein bestehendes Projekt nachrüsten

Immer häufiger soll ein bestehendes Wagtail als reines Backend für ein modernes Frontend dienen. Wie man die Headless-API sauber nachrüstet, zeige ich hier.

10. Mai 2026→ 13 min
WagtailPostgreSQL

Wagtail-Suche verbessern: PostgreSQL Full-Text & Elasticsearch

Die Standard-Suche in Wagtail ist funktional, aber begrenzt. Mit PostgreSQL Full-Text oder Elasticsearch wird sie schnell und relevant — hier der Weg dahin.

4. Mai 2026→ 12 min
DjangoPerformance

Django ORM Performance-Optimierung: N+1, select_related und Indexes

Das N+1-Problem ist einer der häufigsten Performance-Killer in Django-Projekten.

15. Mai 2026→ 12 min
DjangoSignals

Django Signals: wann und wie richtig einsetzen

Signals sind mächtig — aber falsch eingesetzt führen sie zu versteckten Abhängigkeiten.

18. Mai 2026→ 10 min
DjangoRedisCaching

Django Caching mit Redis: Strategien für schnelle Anwendungen

Mit Redis als Backend stehen mächtige Caching-Strategien zur Verfügung.

14. Mai 2026→ 12 min
CeleryDjango

Celery mit Django: Task Queues richtig einsetzen

E-Mail-Versand, PDF-Generierung und API-Aufrufe gehören nicht in synchrone Views.

10. Mai 2026→ 14 min
Pythonasyncio

Python asyncio: Async/Await in der Praxis

Asynchrone Programmierung erklärt mit echten Anwendungsfällen und Django-Integration.

8. Mai 2026→ 13 min
WagtailCMS

Wagtail CMS: Einführung und erste Schritte

Wagtail kombiniert die Power von Django mit einem erstklassigen CMS.

5. Mai 2026→ 11 min
FastAPIDRF

FastAPI vs Django REST Framework: der große Vergleich

Ein ehrlicher Vergleich aus der Praxis — wann welches Framework besser ist.

2. Mai 2026→ 14 min
DRFAPI

Django REST Framework: Best Practices für skalierbare APIs

Serializer, ViewSets, Authentication, Pagination — die wichtigsten DRF-Patterns.

28. April 2026→ 13 min
DjangoPostgreSQL

Django Migrations: Best Practices für große Datenbanken

Bei Millionen Zeilen und laufendem Betrieb werden Migrations zur Wissenschaft.

25. April 2026→ 12 min
DjangoTesting

Django Testing mit pytest: Testabdeckung professionell aufbauen

pytest, pytest-django, Factory Boy und Coverage — der komplette Testing-Stack.

18. April 2026→ 13 min
PostgreSQLDjango

PostgreSQL mit Django: Tipps für datenbankintensive Anwendungen

JSONField, Full-Text Search, Window Functions — PostgreSQL kann viel mehr.

20. April 2026→ 15 min
PydanticPython

Pydantic in der Praxis: Datenvalidierung für Python

Ob API-Eingaben, Konfiguration oder DTOs — hier lernst du alles was du brauchst.

10. April 2026→ 11 min
RedisPython

Redis: mehr als ein Cache (Pub/Sub, Queues, Rate Limiting)

Pub/Sub-Messaging, Job Queues, Rate Limiting — Redis kann viel mehr als cachen.

3. April 2026→ 14 min
DockerDjango

Docker + Django: Produktionsreife Entwicklungsumgebung aufsetzen

"Works on my machine" war gestern — mit Docker läuft alles überall gleich.

12. April 2026→ 16 min
GitLabCI/CDDocker

GitLab CI/CD für Django-Projekte: komplette Pipeline aufsetzen

Testing, Code-Qualität, Docker-Build und Deployment — Schritt für Schritt.

28. März 2026→ 15 min