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

Tags

Recommend this site