Jinja-Templates bleiben auch in modernen Flask-Anwendungen ein leistungsfähiges Werkzeug für serverseitig gerenderte Oberflächen. Wartbarkeit entsteht durch Vererbung, kleine Komponenten, sichere Ausgabe und eine kontrollierte Verbindung zu JavaScript und Assets.
Das Seminar baut eine konsistente Template-Architektur auf und ergänzt sie um Makros, Navigation, Formularkomponenten, progressive Erweiterung und grundlegende Zugänglichkeitsregeln.
Inhaltsübersicht
- Jinja-Rendering und sichere Ausgabe
- Template-Vererbung und Layoutstruktur
- Makros, Includes und wiederverwendbare Komponenten
- Statische Dateien und Frontend-Integration
- Sitzungen, Cookies und Flash-Meldungen
- Barrierearme Templates und Formulare
- Routen- und Browserfluss-Tests
- Praxisprojekt und Wissenssicherung
Lernziele
- Jinja sicher und klar von Python-Logik getrennt einsetzen.
- Wartbare Layouts mit Vererbung und Komponenten entwickeln.
- Statische Assets reproduzierbar einbinden und versionieren.
- Progressive Frontend-Integration mit JSON-Endpunkten umsetzen.
- Semantik, Zugänglichkeit und HTML-Ausgabe automatisiert prüfen.
Zielgruppe
Flask-Entwickler und Full-Stack-Teams, die serverseitig gerenderte Oberflächen strukturiert, sicher und erweiterbar entwickeln.
Voraussetzungen
Flask-, HTML- und CSS-Grundkenntnisse. JavaScript-Basiswissen ist für die Integrationsübungen hilfreich.
Seminarinhalte
1. Jinja-Rendering und sichere Ausgabe
Dynamische HTML-Ausgabe wird strikt von Python-Logik getrennt und standardmäßig sicher gerendert.
- Schritt 1: Template-Verzeichnis strukturieren und Daten über render_template übergeben.
- Schritt 2: Variablen, Bedingungen, Schleifen und Filter lesbar einsetzen.
- Schritt 3: Autoescaping, Markup und sichere Behandlung benutzergenerierter Inhalte unterscheiden.
- Schritt 4: Fehlende Variablen und unerwartete Datentypen mit Tests und defensiven Filtern behandeln.
2. Template-Vererbung und Layoutstruktur
Gemeinsame Layoutteile werden zentral gepflegt, während einzelne Seiten nur ihre fachlichen Bereiche definieren.
- Schritt 1: Basistemplate mit Kopf, Navigation, Hauptbereich und Fußbereich erstellen.
- Schritt 2: Blöcke für Titel, Metadaten, Inhalte und Skripte gezielt freigeben.
- Schritt 3: Unterlayouts und verschachtelte Templates ohne zyklische Abhängigkeiten aufbauen.
- Schritt 4: Aktive Navigation, Fehlermeldungen und Seitentypen über einheitliche Kontextdaten steuern.
3. Makros, Includes und wiederverwendbare Komponenten
Wiederkehrende Oberflächenelemente werden als kleine, testbare Template-Komponenten gekapselt.
- Schritt 1: Makros für Formularfelder, Tabellen, Hinweise und Pagination definieren.
- Schritt 2: Includes nur für klar abgegrenzte Fragmente verwenden und Kontextübergaben explizit machen.
- Schritt 3: Komponentenvarianten über Parameter statt kopierter Templates abbilden.
- Schritt 4: HTML-Ausgabe der wichtigsten Komponenten mit Snapshot- oder Strukturtests prüfen.
4. Statische Dateien und Frontend-Integration
Stylesheets, JavaScript und Medien werden nachvollziehbar eingebunden und produktionsgerecht ausgeliefert.
- Schritt 1: Static-Verzeichnis und URL-Erzeugung für versionierbare Assets einrichten.
- Schritt 2: Progressive Enhancement für Formulare und Teilaktualisierungen planen.
- Schritt 3: JSON-Endpunkte mit fetch-Aufrufen verbinden und Fehlerzustände im Browser behandeln.
- Schritt 4: Cache-Busting, Content Security Policy und Asset-Build als Betriebsanforderungen dokumentieren.
5. Sitzungen, Cookies und Flash-Meldungen
Zustandsbehaftete Browserinteraktionen werden mit klaren Sicherheits- und Lebensdauerregeln umgesetzt.
- Schritt 1: Secret Key, signierte Sitzung und serverseitige Alternativen fachlich bewerten.
- Schritt 2: Cookie-Attribute Secure, HttpOnly und SameSite passend zur Betriebsumgebung konfigurieren.
- Schritt 3: Sitzungsdaten minimieren, Loginwechsel durch session.clear absichern und Ablaufzeiten festlegen.
- Schritt 4: Flash-Meldungen kategorisieren, im Template ausgeben und auf Mehrfachanzeige prüfen.
6. Barrierearme Templates und Formulare
Semantische Struktur, Tastaturbedienung und verständliche Rückmeldungen werden in die Komponenten eingebaut.
- Schritt 1: Überschriftenhierarchie, Landmarken und sinnvolle Linktexte im Basistemplate festlegen.
- Schritt 2: Formularfelder mit Labels, Hilfetexten und programmatisch zugeordneten Fehlermeldungen versehen.
- Schritt 3: Fokusführung, Tastaturreihenfolge und sichtbare Fokuszustände prüfen.
- Schritt 4: Automatisierte Prüfungen durch manuelle Tastatur- und Screenreader-Szenarien ergänzen.
7. Routen- und Browserfluss-Tests
HTTP-Verhalten wird ohne realen Server über den Flask-Test-Client geprüft.
- Schritt 1: GET-, POST- und Redirect-Ketten mit Statuscodes und Headern testen.
- Schritt 2: Formular-, JSON-, Datei- und Cookie-Daten realistisch übermitteln.
- Schritt 3: Anmeldezustand und Request-Kontext kontrolliert erhalten.
- Schritt 4: HTML-Inhalte gezielt auf Semantik und Fehlermeldungen statt auf vollständige Zeichenketten prüfen.
Praxisprojekt
Eine unstrukturierte Oberfläche wird in Basistemplate, Komponenten und Makros zerlegt. Eine Teilfunktion erhält progressive JavaScript-Unterstützung, während die vollständige serverseitige Bedienbarkeit erhalten bleibt.
Methodik
Kurze fachliche Einordnungen wechseln mit Demonstrationen, geführten Umsetzungen, Fehleranalysen und eigenständigen Übungen. Jede größere Änderung wird durch einen Test, eine Diagnose oder eine betriebliche Prüfroutine abgesichert. Die Arbeitsstände werden schrittweise zu einem durchgängigen Beispielprojekt zusammengeführt.
Fachbereichsleitung / Trainerteam / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Flask-Entwickler und Full-Stack-Teams, die serverseitig gerenderte Oberflächen strukturiert, sicher und erweiterbar entwickeln. |
| Voraussetzungen: | Flask-, HTML- und CSS-Grundkenntnisse. JavaScript-Basiswissen ist für die Integrationsübungen hilfreich. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
