Beispiel-Projekt
In diesem Buch werden wir gemeinsam ein vollständiges Beispielprojekt entwickeln und jeden Schritt detailliert besprechen. Das fertige Projekt kann später auf Plattformen wie GitHub oder GitLab gehostet werden, sodass es leicht zugänglich und erweiterbar ist.
Event-Manager-Projekt
Unser Beispielprojekt wird eine umfassende Event-Management-Software sein, die alle wesentlichen Funktionen bietet, um Events zu verwalten. Die Software ermöglicht das Erstellen, Bearbeiten, Anzeigen und Löschen von Events. Darüber hinaus integrieren wir eine leistungsstarke Volltextsuche, die Begriffe in Überschriften und Beschreibungen durchsucht.
Testdaten für realistische Szenarien
Um unser Projekt unter möglichst realistischen Bedingungen zu testen, nutzen wir Factory Boy, ein Tool zur Generierung von Beispieldaten. Damit erstellen wir Kategorien, Events und Bewertungen, sodass das Projekt praxisnah und aussagekräftig getestet werden kann.
Logging, Debugging und Tests
Für ein stabiles und zuverlässiges Projekt lernen wir, wie man systematisches Logging, Debugging und Testing einrichtet. Wir sehen uns an, wie der pdb-Debugger hilft, Probleme direkt im Code zu analysieren.
Benutzer-Authentifizierung und Profile
Damit die Anwendung für mehrere Benutzer*innen geeignet ist, erstellen wir ein individuelles Benutzermodell. So wird die Event-Management-Software multiuser-fähig, und jeder Nutzer kann seine persönlichen Informationen und Einstellungen verwalten.
Web-API
Mit dem Django Rest Framework entwickeln wir eine Web-API, die unsere Event-Daten als JSON bereitstellt. Außerdem wird die API-Dokumentation mit OpenAPI und der Swagger UI erstellt, um eine klare und übersichtliche Darstellung der API-Endpunkte anzubieten.
Moderne Templates
Für ein ansprechendes und responsives Design verwenden wir Bootstrap-Templates. Dadurch passt sich das Layout dynamisch an verschiedene Bildschirmgrößen an und bietet ein modernes, benutzerfreundliches Erscheinungsbild.
Administrationsoberfläche
Wir nutzen die leistungsfähige Admin-Oberfläche von Django, um Benutzerrollen, Zugriffsrechte und Gruppen zu verwalten. Die Admin-Oberfläche ist eine hervorragende Möglichkeit, unsere Modelle zu pflegen und zu organisieren, und wir passen sie an die Anforderungen unserer Anwendung an.
Themen, die dieses Buch nicht abdeckt
Da Django ein äußerst umfangreiches Framework ist, können wir in diesem Buch nicht auf alle Aspekte eingehen. Einige fortgeschrittene Themen, die in einem zukünftigen Band behandelt werden, umfassen:
Detaillierte Django-Core-Konzepte
Asynchrone Tasks und Queues mit Redis und Celery
Containerisierung mit Docker
Fortgeschrittene API-Entwicklung mit dem Django Rest Framework
Vertiefendes Profiling und Performance-Tuning
Datenbankmanagement mit PostgreSQL, inklusive Backups und Transaktionen
Multi-Step-Formulare, die mehrere Views umfassen
Session-Management und erweiterte AJAX-Integration
Signalverarbeitung
Asynchrone Programmierung mit Django und Django Channels
CD/CI-Pipelines für GitHub und GitLab
Deployment auf Produktionsservern
Diese und andere spannende Themen finden Sie im zweiten Teil von Django Heroes: The Return of the Pingus – für alle, die noch tiefer in die Welt von Django eintauchen möchten.