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.

Bewertungen und Tags

Jedes Event kann mit Tags versehen werden, die später als Filter genutzt werden. Wir entwickeln ein Tagging-System, das die Filterung und Organisation von Events vereinfacht. Darüber hinaus können eingeloggte Benutzer Events bewerten, was Interaktion und Feedback ermöglicht.

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.