Webentwicklung mit Python und Django
Webanwendungen mit Django entwickeln
01 Intro
Django bietet einen vollständigen Werkzeugkasten für die Entwicklung
datenbankgestützter Webanwendungen mit Python. Routing, Templates,
Datenbankzugriff, Formulare, Authentifizierung und Administration sind
bereits Bestandteil des Frameworks und lassen sich zu strukturierten
Anwendungen verbinden.
Der Kurs zeigt die Entwicklung einer Django-Anwendung vom ersten Projekt bis
zu einer vollständigen Webanwendung. Neben den einzelnen
Framework-Komponenten stehen die Struktur einer Django-Anwendung, die
Trennung von Verantwortlichkeiten, Sicherheit, Tests und die Vorbereitung
für den produktiven Betrieb im Mittelpunkt.
Kurs-ID
PY-011
Dauer
5 Tage
Format
Präsenz · Live Online · Inhouse
Vorkenntnisse
Sichere Python-Grundkenntnisse, grundlegende Kenntnisse von HTML und Webtechnologien
02 Trainingsprogramm
Inhalte
Grundlagen von Webanwendungen
- Client und Server
- HTTP Request und Response
- URLs und HTTP-Methoden
- HTML, CSS und JavaScript im Zusammenspiel
- statische und dynamische Inhalte
- grundlegende Webarchitektur
Einstieg in Django
- Django installieren
- Projekt und virtuelle Umgebung
- Django-Projekt erzeugen
- Entwicklungsserver
- Aufbau eines Django-Projekts
- erste Anwendung
URLs und Views
- URL-Konfiguration
- URL Patterns
- Views
- Request und Response
- funktionsbasierte Views
- Fehlerseiten
Templates
- Django Template Language
- Variablen und Ausdrücke
- Bedingungen und Schleifen
- Template-Vererbung
- Includes
- Trennung von Darstellung und Programmlogik
Models und Datenbanken
- Django ORM
- Models definieren
- Felder und Datentypen
- Migrationen
- Datensätze erzeugen, lesen, ändern und löschen
- Datenbankzugriffe sinnvoll strukturieren
Django Admin
- Admin-Site
- Models registrieren
- Listen und Detailansichten konfigurieren
- Filter und Suche
- Formulare anpassen
- Admin als internes Werkzeug nutzen
Formulare und Benutzereingaben
- HTML-Formulare
- Django Forms
- ModelForms
- Validierung
- Fehlermeldungen
- sichere Verarbeitung von Eingaben
Authentifizierung und Benutzer
- Django Authentication Framework
- Benutzer
- Login und Logout
- Passwörter
- Zugriff auf Views beschränken
- Authentifizierung frühzeitig richtig planen
Sessions und Zustand
- zustandsloses HTTP
- Cookies
- Sessions
- Session-Daten speichern
- Lebensdauer von Sessions
- Sicherheitsaspekte
Statische Dateien und Medien
- CSS und JavaScript
- Static Files
- Media Files
- Uploads
- Entwicklungs- und Produktionsumgebung
- typische Projektstruktur
Struktur größerer Django-Anwendungen
- Anwendungen in Apps zerlegen
- Verantwortlichkeiten von Apps
- Models, Views und Templates strukturieren
- Business-Logik nicht in Views verstecken
- Services und Hilfskomponenten
- wachsende Projekte beherrschbar halten
Django ORM vertiefen
- komplexere QuerySets
- Q-Objekte
- Aggregationen
- Annotationen
- Joins über Beziehungen
- Datenbankzugriffe analysieren und optimieren
Webanwendungen testen
- Django Test Framework
- pytest und Django im Überblick
- Models testen
- Views testen
- Formulare testen
- Integrationstests
Sicherheit
- typische Risiken von Webanwendungen
- Cross-Site Scripting
- CSRF
- SQL Injection
- sichere Templates
- sichere Produktionskonfiguration
APIs in Django
- JSON Responses
- einfache API-Endpunkte
- Django REST Framework im Überblick
- Serialisierung
- REST und klassische Webanwendung kombinieren
- wann welches Framework sinnvoll ist
Performance und Caching
- typische Performance-Probleme
- Datenbankabfragen reduzieren
- Caching-Grundlagen
- Django Cache Framework
- unterschiedliche Cache Backends
- Caching gezielt statt pauschal einsetzen
Deployment und Betrieb
- Entwicklungs- und Produktionsbetrieb
- DEBUG
- Konfiguration über Umgebungsvariablen
- WSGI und ASGI
- statische Dateien
- Health Checks und Betrieb
Durchgängige Beispielanwendung
- Anforderungen strukturieren
- Datenmodell entwickeln
- Django-Projekt und Apps aufbauen
- Views und Templates entwickeln
- Formulare integrieren
- für den Betrieb vorbereiten
03 Durchführung
Rahmen und Organisation
Dauer
5 Tage
Durchführung
Präsenz oder Live Online, vorzugsweise als Inhouse-Schulung
Schwerpunkt
Inhouse-Schulungen für Unternehmen und Teams
Sprache
Deutsch, englische Fachbegriffe und Dokumentation
Unterlagen
Kursunterlagen, Beispiele und Übungsaufgaben
Technik
Eigener Rechner mit aktueller Python-Version und Entwicklungsumgebung
Inhouse-Schulungen
Die Schwerpunkte können an vorhandene Kenntnisse, eingesetzte
Technologien und konkrete Anforderungen des Teams angepasst werden.
04 Zielgruppe
Für wen ist der Kurs gedacht?
Der Kurs richtet sich an Python-Entwicklerinnen und -Entwickler, die datenbankgestützte Webanwendungen mit Django entwickeln möchten.
Er eignet sich sowohl für Teilnehmer ohne bisherige Django-Erfahrung als auch für Entwickler, die bereits kleinere Django-Anwendungen erstellt haben und das Framework systematischer kennenlernen möchten.
Die Teilnehmer sollten mit folgenden Themen sicher umgehen können:
- grundlegende Python-Syntax
- Funktionen
- Module und Packages
- Klassen und Objekte
- Exceptions
- virtuelle Python-Umgebungen
Webtechnologien
Grundkenntnisse in HTML sowie ein grundlegendes Verständnis von
Webanwendungen sind hilfreich. Tiefere JavaScript- oder CSS-Kenntnisse
werden nicht vorausgesetzt.
05 Lernziele
Was Sie nach dem Kurs können
Nach dem Kurs können die Teilnehmer:
- Django-Projekte und Apps selbstständig aufbauen
- URLs, Views und Templates zu Webanwendungen verbinden
- Datenmodelle mit dem Django ORM entwickeln
- Datenbankmigrationen durchführen
- Formulare und Benutzereingaben sicher verarbeiten
- Django Admin für interne Verwaltungsoberflächen konfigurieren
- Benutzer, Authentifizierung und Berechtigungen integrieren
- Sessions und benutzerspezifischen Zustand verwalten
- größere Django-Anwendungen sinnvoll strukturieren
- Datenbankzugriffe analysieren und optimieren
- Django-Anwendungen automatisiert testen
- wesentliche Sicherheitsmechanismen von Django einsetzen
- Caching und grundlegende Performance-Optimierungen nutzen
- Django-Anwendungen für den produktiven Betrieb vorbereiten
06 FAQ
Häufige Fragen
Muss ich Django bereits kennen?
Nein. Der Kurs beginnt mit dem Aufbau eines Django-Projekts und entwickelt daraus schrittweise eine vollständige Webanwendung.
Muss ich HTML, CSS und JavaScript beherrschen?
Grundkenntnisse in HTML sind hilfreich. CSS und JavaScript werden dort verwendet, wo sie für die Anwendung benötigt werden, sind aber nicht Schwerpunkt des Kurses.
Wird auch das Django ORM behandelt?
Ja. Das ORM ist ein zentraler Bestandteil des Kurses – von einfachen CRUD-Operationen bis zu Beziehungen, komplexeren QuerySets und der Vermeidung unnötiger Datenbankzugriffe.
Wird Django REST Framework behandelt?
Django REST Framework wird eingeordnet und anhand grundlegender Konzepte betrachtet. Der Schwerpunkt des Kurses liegt jedoch auf Django als vollständigem Webframework.
Was ist der Unterschied zu PY-006 „REST APIs mit Python und FastAPI“?
PY-006 konzentriert sich auf die Entwicklung von APIs und Backend-Services mit FastAPI. PY-011 behandelt vollständige serverseitige Webanwendungen mit Django einschließlich Templates, Formularen, Datenbankmodell, Benutzerverwaltung und Administration.
Werden Tests behandelt?
Ja. Models, Views, Formulare und wesentliche Anwendungsabläufe werden automatisiert getestet.
Wird Deployment behandelt?
Ja, soweit es für das Verständnis einer produktionsfähigen Django-Anwendung erforderlich ist. Der Aufbau einer vollständigen Betriebs- oder Cloud-Infrastruktur ist jedoch nicht Schwerpunkt des Kurses.
Kann der Kurs an eine vorhandene Django-Anwendung angepasst werden?
Ja. Bei Inhouse-Schulungen können Architektur, Datenmodell, Authentifizierung und andere Schwerpunkte an vorhandene Anwendungen und Anforderungen angepasst werden.