In diesem Teil der Anleitung zum Python-Gästebuch-Code erfahren Sie, wie dynamische Webinhalte mit Jinja-Vorlagen erzeugt werden.
Diese Seite ist Teil einer mehrseitigen Anleitung. Wenn Sie die Anleitung von Anfang an durchgehen und eine Anleitung zur Einrichtung erhalten möchten, rufen Sie Gästebuchanwendungen erstellen auf.
In Code eingebettetes HTML ist unübersichtlich und schwierig zu pflegen. Daher ist die Verwendung eines Vorlagensystems die bessere Lösung. Hierbei befindet sich das HTML in einer separaten Datei mit einer speziellen Syntax, um anzugeben, an welcher Stelle die Daten der Anwendung angezeigt werden. Für Python stehen viele Vorlagensysteme zur Verfügung, unter anderem: EZT, Cheetah, ClearSilver, Quixote, Django, und Jinja2. Sie können die Vorlagen-Engine Ihrer Wahl verwenden, indem Sie sie mit Ihrem Anwendungscode bündeln.
Um Ihnen die Arbeit zu erleichtern, enthält App Engine die Vorlagen-Engines Django und Jinja2.
Jinja2-Vorlagen verwenden
In der app.yaml
-Datei wird die neueste Version von jinja2
als erforderliche Bibliothek aufgelistet.
In Produktionsanwendungen sollte eine konkrete Versionsnummer statt version: latest
verwendet werden.
Die Anwendung importiert jinja2
und erstellt ein jinja2.Environment
-Objekt.
Die get
-Methode für den Request-Handler MainPage
bildet ein Dictionary aus Schlüssel/Wert-Paaren und übergibt es an template.render
.
Die Seite wird gemäß der Vorlage index.html
gerendert, die das Dictionary als Eingabe empfängt.
Die Methode JINJA_ENVIRONMENT.get_template(name)
übernimmt den Namen einer Vorlagendatei und gibt ein Vorlagenobjekt zurück. Der Aufruf template.render(template_values)
verwendet ein Dictionary mit Werten und gibt den gerenderten Text zurück. Bei der Vorlage wird die Jinja2-Vorlagensyntax verwendet, um auf die Werte zuzugreifen und diese zu durchlaufen. Außerdem kann auf die Attribute dieser Werte Bezug genommen werden.