Heim >Web-Frontend >CSS-Tutorial >Vorlagen mit Jinja2 in Flask: Essentials

Vorlagen mit Jinja2 in Flask: Essentials

Lisa Kudrow
Lisa KudrowOriginal
2025-02-28 09:10:17387Durchsuche

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.

Installationspaket

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>

Warum brauchen Sie eine Vorlagenmotor?

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:

flask_app/templates/home.html

<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.

Templating With Jinja2 in Flask: Essentials

Zusammenfassung

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Onclick (HTML -Attribut)Nächster Artikel:Onclick (HTML -Attribut)