Informationen zur Technologie

Python ist eine universelle, höhere Programmiersprache, die gut lesbar ist. Sie unterstützt mehrere Programmierparadigmen, wie die objektorientierte, die funktionale und die aspekt-orientierte Programmierung und bietet eine dynamische Typisierung. Sie wird oft als Skriptsprache eingesetzt.
Django ist ein in Python geschriebenes, quelloffenes Web-Framework. Es folgt dem Model View Presenter Schema und läuft mit dem Apache-Webserver mit mod wsgi oder einem anderen WSGI-kompatiblen Webserver.


Python 3.8 Django 3 - Vertiefung - Schulung (3 Tage)

Kurzbeschreibung

Dieses Python 3.8-Seminar bietet Entwicklern eine vertiefte Tour durch Django 3. Sie ,werden viele nützliche Kleinigkeiten kennenlernen mit denen das Wissen aus dem Grundlagenkurs erweitert und anhand einer Beispiel Anwendung dann auch gleich umgesetzt wird. Zu den behandelten Themen gehören das Arbeiten in einer virtuellen Umgebung mit dem Definieren von App-Einstellungen, das Arbeiten mit Modellen und Datenbanken, Formularen und Ansichten, die Modell-Verwaltung sowie die Sicherheit und Performance, der Datenim- und -export, das Testen und das Deployment.


Voraussetzungen

• Erfahrung mit Python und Django


    Seminarinhalt

    Vertiefter Einstieg in Django 3.0
    • Arbeiten mit einer virtuellen Umgebung
    • Konfiguration von Einstellungen für Entwicklungs-, Test-, Staging- und Produktionsumgebungen
    • Definieren relativer Pfade in den Einstellungen
    • Umgang mit sensiblen Einstellungen
    • Dynamische Einrichtung von STATIC_URL
    • Erstellung des Git ignore files für Django Projekte
    • Löschung der Python kompilierten Dateien
    • Definieren überschreibbarer App-Einstellungen
    • Arbeiten mit Docker-Containern für Django, Gunicorn, Nginx und PostgreSQL

    Models und Datenbankstruktur
    • Verwendung von model mixins
    • Umgang mit mehrsprachigen Feldern
    • Arbeiten mit Modellübersetzungstabellen
    • Vermeidung zirkulärer Abhängigkeiten
    • Hinzufügung von Datenbankeinschränkungen
    • Verwendung von Migrationen
    • Änderung eines Fremdschlüssels in das many-to-many Feld

    Formulare und Ansichten
    • Erstellung einer App mit CRUDL Funktionen
    • Das Hochladen der Bilder
    • Erstellung eines Formularlayouts mit Django Crispy-Formularen
    • Arbeiten mit Formsets
    • Filterung der Objektlisten
    • Verwaltung von paginierten Listen
    • Erstellung von klassenbasierten Views
    • Generierung von PDF-Dokumenten
    • Implementierung einer mehrsprachigen Suche mit Elasticsearch DSL

    Vorlagen und JavaScript
    • Anordnung der base.html-Vorlage
    • Verwendung von Django Sekizai
    • Öffnung der Objektdetails in einem modalen Dialog
    • Implementierung des Like-Widgets
    • Das Hochladen von Bildern über AJAX

    Benutzerdefinierte Vorlagenfilter und Tags
    • Erstellung eines Vorlagenfilters zur Anzeige der vergangenen Tage seit der Veröffentlichung eines Beitrags
    • Erstellung eines Vorlagenfilters zum Humanisieren von URLs

    Modellverwaltung (Model Administration)
    • Anpassung von Spalten auf der Änderungslistenseite
    • Erstellung von Administratoraktionen (admin actions)
    • Entwicklung von Änderungslistenfiltern
    • Verwendung des Benutzer Gravatars

    Sicherheit und Leistung
    • Einführung
    • Sicherstellung von Formularen vor Cross-Site Request Forgery (CSRF)
    • Sicherstellung von Anfragen mit Content Security Policy (CSP)
    • Verwendung von django-admin-honeypot
    • Implementierung der Passwortüberprüfung
    • Das Herunterladen autorisierter Dateien
    • Hinzufügung eines dynamischen Wasserzeichens zu Bildern
    • Authentifizierung mit Auth0
    • Zwischenspeicherung des Methodenrückgabewerts
    • Verwendung von Memcached zum Zwischenspeichern von Django-Ansichten
    • Verwendung von Redis zum Zwischenspeichern von Django-Ansichten

    Hierarchische Strukturen
    • Erstellung von hierarchischen Kategorien mit django-mptt
    • Erstellung einer Kategorie-Verwaltungsoberfläche mit django-mptt-admin
    • Rendern von Kategorien in einer Vorlage mit django-mptt
    • Erstellung einer grundlegenden Administrationsoberfläche für Kategorien mit django-treebeard

    Import und Export von Daten
    • Import von Daten aus einer lokalen CSV-Datei
    • Import von Daten aus einer lokalen Excel-Datei
    • Import von Daten aus einer externen JSON-Datei
    • Import von Daten aus einer externen XML-Datei
    • Vorbereitung paginierter Sitemaps für Suchmaschinen
    • Erstellung von filterbaren RSS-Feeds

    Verschiedenes
    • Verwendung der Django-Shell
    • Verwendung von Datenbankabfrageausdrücken (query expressions)
    • Verwendung der Funktion slugify() mit Monkey Patches zur Internationalisierung

    Debuggen
    • Das Umschalten der Debugg-Symbolleiste
    • Verwendung von Signalen zur Benachrichtigung der Administratoren über neue Einträge
    • Prüfung auf fehlende Einstellungen

    Testen
    • Test der Views mit Mock
    • Test der Benutzeroberfläche mit Selenium

    Deployment


    Zielgruppen

    • Versierte Django / Python Entwickler


    Preise und Termine

    offene Schulung
    Eine offene Schulung findet in einem unserer Schulungszentren statt.
    Dauer:3 Tage
    Preis:1.350,00 € zzgl. USt. pro Teilnehmer (1.606,50€ inkl. USt.)
    Seminarstandorte:
    Starttermine:
    (ortsabhängig)


    Unterlagen:zzgl.
    Verpflegung:zzgl.
    Prüfung/Zertifizierung:zzgl.
    Firmenschulung
    Eine Firmenschlung kann sowohl bei Ihnen vor Ort als auch in einem unserer Schulungszentren stattfinden.
    Dauer:3 Tage
    Preis ab:1.350,00 € zzgl. USt. pro Tag (1.606,50€ inkl. USt.)
    Schulungszentren:
    • Hamburg
    • Berlin
    • Frankfurt
    • München
    • Nürnberg
    • Düsseldorf
    • Wien
    Starttermin:individuelle Vereinbarung
    Unterlagen:zzgl.
    Verpflegung:zzgl.
    Prüfung/Zertifizierung:zzgl.

    Software

    python3, atom, vscode,



    Seminarsprache

    die Seminarsprache ist deutsch, sofern keine andere Angabe. Englisch ist in aller Regel machbar, andere Seminarsprachen sind möglich, fragen Sie bitte an.