Django - Kompaktkurs
Classroom training | German | Claim
Duration of training: 5 days
Objectives
Der Django-Entwicklungskurs für erfahrene Python-Entwickler bietet eine ganzheitliche Schulung zur Entwicklung von Full-Stack-Webanwendungen mit dem Django-Framework. Von grundlegenden Konzepten wie der Erstellung von Modellen, Ansichten und Controllern bis hin zu fortgeschrittenen Themen wie Administration, Sitzungsverwaltung, Authentifizierung und automatisiertem Testen werden alle Aspekte abgedeckt.
Teilnehmende erwerben dabei umfassende Kenntnisse, darunter die Entwicklung von Websites auf Basis relationaler Datenbankverwaltungssysteme, die Umsetzung des Model-View-Controller (MVC)-Musters in Django, die Erstellung anpassbarer Ansichten durch Django-Vorlagen, die effiziente Zuordnung von Ansichten zu URLs, die optimale Nutzung der integrierten Admin-Schnittstelle, die Bereitstellung von HTML-Formularverarbeitung, die Integration automatisierter Tests für zuverlässige Entwicklung, die Erweiterung des Vorlagensystems, die Durchführung anspruchsvoller Datenbankabfragen, die Dokumentation mit Sphinx, die Entwicklung testbarer und wiederverwendbarer Anwendungen, die Datenmigration und Bereitstellung einer RESTful-Schnittstelle zu Django-Modellen, sowie die Schaffung reaktionsschneller Webanwendungen für verschiedene Geräte unter Einbeziehung von Caching-Strategien zur Durchsatzoptimierung.
Target audience
Python-Entwickler
Requirements
Alle Teilnehmer sollten über Grundkenntnisse in Python, HTML5 und CSS verfügen.
Agenda
Django-Übersicht
- Django ist ein Rahmenwerk
- Rahmenwerke vs. Pakete
- Was kann sie bewirken?
- Was sind die Alternativen?
Erste Schritte mit Django
- Websites und Anwendungen
- Gemeinsame Konfiguration
- Minimales Django-Layout
- Eingebaute Flexibilität
Verwendung von Cookiecutter
- Warum Cookiecutter?
- Cookiecutter-Merkmale
- Ein Projekt erstellen
- Erstellen einer Anwendung
- Anpassen des Cookiecutters
Erstellen von Modellen mit Django ORM
- Modelle definieren
- Verwandte Objekte
- SQL-Migration
- Konfiguration der Anwendung
- Zugriff auf Modelle
Kostenloses Login
- Einrichten des Admin-Benutzers
- Ausführen der Admin-Site
- Anpassung der Verwaltungsschnittstelle
- Ändern der Admin-Indexseite
Grundlegende Ansichten (AKA-Controller)
- Was ist eine Ansicht
- HttpResponse
- URL-Route-Konfiguration
- Abkürzung: get_object_or_404()
Arbeiten mit Vorlagen
- Über Vorlagen
- Django-Vorlagensyntax
- Statische Dateien
- Laden von Vorlagen
- Der url-Tag
- Abkürzung: template.render()
Abfragen der Modelle
- QuerySets
- Feld-Lookups
- Verkettung von Filtern
- Schneiden von QuerySets
- Verwandte Felder
- Q-Objekte
Verbesserung der Modelle
- Benutzerdefinierte Methoden
- Komplexe Beziehungen
- Vorrangige Standardmethoden
Formulare
- Übersicht Formulare
- GET und POST
- Die Formular-Klasse
- Bearbeitung des Formulars
- Widgets
- Validierung
- Formulare in Vorlagen
- Über die Grundlagen hinaus
Fehlersuche
- Drucken auf die Konsole
- Django-Debug-Seite
- Django-Protokolle lesen
- Django-Debug-Symbolleiste
- Klassenbasierte Ansichten
- Über allgemeine Ansichten
- Typen von generischen Ansichten
- Generische Standardansichten
Klassenbasierte Ansichten
- Über allgemeine Ansichten
- Typen von generischen Ansichten
- Generische Standardansichten
- Klassenbasierte generische Ansichten
- Listen- und Detailansichten
Benutzer-Authentifizierung
- Authentifizierung vs. Autorisierung
- Konfigurieren von Benutzern
- Genehmigungen
- Gruppen
Sitzungsverwaltung
- Aktivieren von Sitzungen
- Arten von Sitzungs-Backends
- Sitzungs-Cookies
- Zugriff auf Sitzungen aus Ansichten
Migrationen
- Verwaltete vs. nicht verwaltete Tabellen
- Behandlung von Schema-Änderungen
- Verwendung von Make-Migrations und Migrate
- Migrationen optimieren
- Migrieren von Daten
Erweiterte Konfiguration
- Architektur der Django-Einstellungen
- Typische Konfiguration
- 12-Faktor-Konfiguration verwenden
- Sicherheitsüberlegungen
Servieren von Daten mit einer RESTful-Schnittstelle
- Der Django REST-Rahmen
- Serialisierung
- Anfragen und Antworten
- Funktionsbasierte Ansichten
- Klassenbasierte Ansichten
- Was ist mit Django-Tastypie?
Statische Dateiverwaltung
- Arten von statischen Dateien
- Konfigurieren des Zugriffs
- Namensraum
- Vorlagen
- Einsatz außerhalb von Django
Automatisierte Tests
- Warum werden Tests erstellt?
- Wann werden Tests erstellt?
- Verwendung von Django's Test-Framework
- Verwendung des Testclients
- Ausführen von Tests
- Code-Abdeckung prüfen
Verwendung des Cache:
- Arten von Caches
- Einrichten des Caches
- Per-Site- und Per-View-Caching (Zwischenspeicherung pro Standort und pro Ansicht)
- Low-Level API
- Cache-Sicherheit
Erstellen wiederverwendbarer Apps:
- Packaging
- Wahl eines geeigneten Namens
- Bereitstellen von
- Verwendung von Setuptools
Dokumentation mit Sphinx:
- Beschreibung der Sphinx
- Neustrukturierte Texte
- Konfigurieren der Sphinx
- Erstellen von Dokumentdateien
- Verwendung von Autodoc
- Dokumente erzeugen
Objectives
Der Django-Entwicklungskurs für erfahrene Python-Entwickler bietet eine ganzheitliche Schulung zur Entwicklung von Full-Stack-Webanwendungen mit dem Django-Framework. Von grundlegenden Konzepten wie der Erstellung von Modellen, Ansichten und Controllern bis hin zu fortgeschrittenen Themen wie Administration, Sitzungsverwaltung, Authentifizierung und automatisiertem Testen werden alle Aspekte abgedeckt.
Teilnehmende erwerben dabei umfassende Kenntnisse, darunter die Entwicklung von Websites auf Basis relationaler Datenbankverwaltungssysteme, die Umsetzung des Model-View-Controller (MVC)-Musters in Django, die Erstellung anpassbarer Ansichten durch Django-Vorlagen, die effiziente Zuordnung von Ansichten zu URLs, die optimale Nutzung der integrierten Admin-Schnittstelle, die Bereitstellung von HTML-Formularverarbeitung, die Integration automatisierter Tests für zuverlässige Entwicklung, die Erweiterung des Vorlagensystems, die Durchführung anspruchsvoller Datenbankabfragen, die Dokumentation mit Sphinx, die Entwicklung testbarer und wiederverwendbarer Anwendungen, die Datenmigration und Bereitstellung einer RESTful-Schnittstelle zu Django-Modellen, sowie die Schaffung reaktionsschneller Webanwendungen für verschiedene Geräte unter Einbeziehung von Caching-Strategien zur Durchsatzoptimierung.
Target audience
Python-Entwickler
Requirements
Alle Teilnehmer sollten über Grundkenntnisse in Python, HTML5 und CSS verfügen.
Agenda
Django-Übersicht
- Django ist ein Rahmenwerk
- Rahmenwerke vs. Pakete
- Was kann sie bewirken?
- Was sind die Alternativen?
Erste Schritte mit Django
- Websites und Anwendungen
- Gemeinsame Konfiguration
- Minimales Django-Layout
- Eingebaute Flexibilität
Verwendung von Cookiecutter
- Warum Cookiecutter?
- Cookiecutter-Merkmale
- Ein Projekt erstellen
- Erstellen einer Anwendung
- Anpassen des Cookiecutters
Erstellen von Modellen mit Django ORM
- Modelle definieren
- Verwandte Objekte
- SQL-Migration
- Konfiguration der Anwendung
- Zugriff auf Modelle
Kostenloses Login
- Einrichten des Admin-Benutzers
- Ausführen der Admin-Site
- Anpassung der Verwaltungsschnittstelle
- Ändern der Admin-Indexseite
Grundlegende Ansichten (AKA-Controller)
- Was ist eine Ansicht
- HttpResponse
- URL-Route-Konfiguration
- Abkürzung: get_object_or_404()
Arbeiten mit Vorlagen
- Über Vorlagen
- Django-Vorlagensyntax
- Statische Dateien
- Laden von Vorlagen
- Der url-Tag
- Abkürzung: template.render()
Abfragen der Modelle
- QuerySets
- Feld-Lookups
- Verkettung von Filtern
- Schneiden von QuerySets
- Verwandte Felder
- Q-Objekte
Verbesserung der Modelle
- Benutzerdefinierte Methoden
- Komplexe Beziehungen
- Vorrangige Standardmethoden
Formulare
- Übersicht Formulare
- GET und POST
- Die Formular-Klasse
- Bearbeitung des Formulars
- Widgets
- Validierung
- Formulare in Vorlagen
- Über die Grundlagen hinaus
Fehlersuche
- Drucken auf die Konsole
- Django-Debug-Seite
- Django-Protokolle lesen
- Django-Debug-Symbolleiste
- Klassenbasierte Ansichten
- Über allgemeine Ansichten
- Typen von generischen Ansichten
- Generische Standardansichten
Klassenbasierte Ansichten
- Über allgemeine Ansichten
- Typen von generischen Ansichten
- Generische Standardansichten
- Klassenbasierte generische Ansichten
- Listen- und Detailansichten
Benutzer-Authentifizierung
- Authentifizierung vs. Autorisierung
- Konfigurieren von Benutzern
- Genehmigungen
- Gruppen
Sitzungsverwaltung
- Aktivieren von Sitzungen
- Arten von Sitzungs-Backends
- Sitzungs-Cookies
- Zugriff auf Sitzungen aus Ansichten
Migrationen
- Verwaltete vs. nicht verwaltete Tabellen
- Behandlung von Schema-Änderungen
- Verwendung von Make-Migrations und Migrate
- Migrationen optimieren
- Migrieren von Daten
Erweiterte Konfiguration
- Architektur der Django-Einstellungen
- Typische Konfiguration
- 12-Faktor-Konfiguration verwenden
- Sicherheitsüberlegungen
Servieren von Daten mit einer RESTful-Schnittstelle
- Der Django REST-Rahmen
- Serialisierung
- Anfragen und Antworten
- Funktionsbasierte Ansichten
- Klassenbasierte Ansichten
- Was ist mit Django-Tastypie?
Statische Dateiverwaltung
- Arten von statischen Dateien
- Konfigurieren des Zugriffs
- Namensraum
- Vorlagen
- Einsatz außerhalb von Django
Automatisierte Tests
- Warum werden Tests erstellt?
- Wann werden Tests erstellt?
- Verwendung von Django's Test-Framework
- Verwendung des Testclients
- Ausführen von Tests
- Code-Abdeckung prüfen
Verwendung des Cache:
- Arten von Caches
- Einrichten des Caches
- Per-Site- und Per-View-Caching (Zwischenspeicherung pro Standort und pro Ansicht)
- Low-Level API
- Cache-Sicherheit
Erstellen wiederverwendbarer Apps:
- Packaging
- Wahl eines geeigneten Namens
- Bereitstellen von
- Verwendung von Setuptools
Dokumentation mit Sphinx:
- Beschreibung der Sphinx
- Neustrukturierte Texte
- Konfigurieren der Sphinx
- Erstellen von Dokumentdateien
- Verwendung von Autodoc
- Dokumente erzeugen