Beispiel-Projekt
Wir werden in diesem Buch zusammen ein voll funktionsfähiges Beispiel-Projekt entwickeln und jeden Teil im Detail genau besprechen. Das Projekt kann dann später bei github oder gitlab gehostet werden.
Event Manager Projekt
Wir erstellen eine voll funktionsfähige Event-Management Software zum Verwalten von Events. Neben dem Anlegen, Bearbeiten, Anzeigen und Löschen von Events wird es auch eine Volltext-Suche geben, um in Überschriften und Beschreibungen nach Begriffen zu suchen.
Test-Daten
Wir werden mit Factory Boy Fake-Daten für Kategorien, Events und Reviews generieren, damit wir unser Projekt unter reellen Bedingungen testen können.
Logging, Debugging und Testing
Wir gucken uns an, wie man ein Projekt testen kann, wie richtiges Logging
funktioniert und wie man den pdb-Debugger nutzen kann, um die Applikation zu
debuggen. Wir führen Last-Tests mit dem Locusts-Framework
durch.
Reviews und Tag-System
Alle Events können mit Tags versehen werden, nach denen auch gefiltert werden kann. Dazu entwickeln wir ein Tag-System, mit dem wir Events taggen können. Mit Reviews können andere, eingeloggte User Events bewerten.
User-Authentifizierung und User-Profil
Wir entwickeln unser eigenes User-Modell, um die Software multiuser-fähig zu machen.
Web-API
Mit Hilfe des Django Restframeworks werden wir die Event-Daten per JSON über eine einfache Web-API bereitstellen können. Dazu gehört natürlich auch das Erstellen einer Dokumentation der API-Methoden mit Open Api und der Swagger UI.
Templates
Wir stellen Bootstrap-Templates bereit, um ein modernes, responsives Layout zu ermöglichen, dass sich allen Endgeräten anpassen wird.
Administrationsoberfläche
Wir tauchen ein in die mächtige, mitgelieferte Administrationsoberfläche von Django um Rechte, User und Gruppen anzulegen. Wir werden die Dokumenationsfähigkeit der Admin kennenlernen und unsere eigenen Modelle darüber verwalten können.
Themen, die das Buch nicht behandelt
Wir können in einem Buch leider nicht alles behandeln, was mit Django zu tun hat.
Django-Core
Asynchrone Task und Queues mit Redis und Celery
Docker
fortgeschrittene API-Entwicklung mit Django Rest Framework
fortgeschrittenes Profiling
Postgres Datenbank, Backups und Transaktionen
Formulare über mehrere Views hinweg
Session-Handling
Ajax
Signale
asynchrones Django und Django Channels
cd-ci Pipeline (gitlab, github)
Deployment auf einen Live-Server
diese und weitere interessante Themen finden sich im zweiten Teil von Django heroes: The Return of the Pingus.