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.