Heim >Web-Frontend >CSS-Tutorial >Vorlagen mit Jinja2 in Flask: Essentials
Jinja2: Effiziente Vorlagemotor in Flask Anwendungen
Jinja2 ist eine reine Python-geschriebene Template-Engine, die eine Django-ähnliche Nicht-XML-Syntax bietet und gleichzeitig Inline-Ausdrücke und optionale Sandboxing-Umgebungen unterstützt. Es ist kompakt, schnell und einfach zu bedienen und eine eigenständige Template -Engine. Flask ist ein winziges pythonbasiertes Web-Framework, mit dem Sie Webanwendungen schnell und effizient schreiben können.
Diese Reihe von Tutorials erklärt das Grundkenntnis von Jinja2 -Vorlagen aus der Perspektive des Flaschens. Im folgenden Abschnitt werden erweiterte Template-Themen eingeführt und in modularer und skalierbarer Weise in flaskbasierten Anwendungen erfasst.
In diesem Tutorial geht davon aus, dass Sie die Grundlagen von Flask beherrscht und die besten Praktiken für das Einrichten von Umgebungen mithilfe von Virtualenv für die Entwicklung von Python -Anwendungen verstehen.
Flask wird mit Jinja2 ausgestattet, daher müssen wir nur einen Kolben installieren. Diese Tutorial -Serie empfiehlt die Verwendung der Entwicklungsversion von Flask, die eine stabilere Befehlszeilenunterstützung sowie viele andere Funktionen und Verbesserungen enthält.
<code class="language-bash">pip install https://github.com/mitsuhiko/flask/tarball/master</code>
In Flask können wir eine vollständige Webanwendung ohne eine Templat-Engine von Drittanbietern schreiben. Schauen wir uns ein einfaches Beispiel von if, sonst und {% %}
Blöcken an. Aktualisieren Sie die Seite home.html
wie folgt:
<code class="language-html+jinja">{% extends 'base.html' %} {% block container %} <div class="top-pad"> {% for id, product in products.items() %} <div class="well"> <h2> <a href="https://www.php.cn/link/0bbfd30c6d7efe2fff86061e79c010db'product',%20key=id)%20%7D%7D">{{product['name']}}</a> <small>$ {{ product['price']}}</small> </h2> </div> {% endfor %} </div> {% endblock %}</code>
Beobachten Sie, wie diese Vorlage den oberen Filter wie unten gezeigt erweitert:
<code class="language-html+jinja">{% extends 'base.html' %} {% block container %} <div class="top-pad"> {% for id, product in products.items() %} <div class="well"> <h2> <a href="https://www.php.cn/link/0bbfd30c6d7efe2fff86061e79c010db'product',%20key=id)%20%7D%7D">{{product['name']|upper}}</a> <small>$ {{ product['price']}}</small> </h2> </div> {% endfor %} </div> {% endblock %}</code>
Wenn Sie nun den Server ausführen, sollten Sie feststellen, dass der Produktname alle aktiviert ist.
In diesem Tutorial haben wir gelernt, wie man die Struktur der Jinja2-Layout-Vorlagen in einer auflösenden Anwendung verwendet. Wir haben auch gelernt, wie man Blöcke verwendet, um die Vererbung in Vorlagen zu nutzen.
Im nächsten Teil dieser Serie lernen wir, wie Sie benutzerdefinierte Filter, benutzerdefinierte Kontextprozessoren und Makros schreiben.
Dieser Artikel wurde aktualisiert und enthält Beiträge von Esther Vaati. Esther ist ein Softwareentwickler und Beitrag zu Envato -Tuts.
Das obige ist der detaillierte Inhalt vonVorlagen mit Jinja2 in Flask: Essentials. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!