suchen
HeimWeb-FrontendCSS-TutorialVorlagen 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.

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.

pip install https://github.com/mitsuhiko/flask/tarball/master

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

{% 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', key=id) }}">{{product['name']}}</a>
        <small>$ {{ product['price']}}</small>
    </h2>
    </div>
    {% endfor %}
</div>
{% endblock %}

Beobachten Sie, wie diese Vorlage den oberen Filter wie unten gezeigt erweitert:

{% 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', key=id) }}">{{product['name']|upper}}</a>
        <small>$ {{ product['price']}}</small>
    </h2>
    </div>
    {% endfor %}
</div>
{% endblock %}

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
Entmystifizierende Bildschirmleser: Zugrunde Formen und Best PracticesEntmystifizierende Bildschirmleser: Zugrunde Formen und Best PracticesMar 08, 2025 am 09:45 AM

Dies ist der 3. Beitrag in einer kleinen Serie, die wir in Form von Barrierefreiheit gemacht haben. Wenn Sie den zweiten Beitrag verpasst haben, lesen Sie "Verwalten des Benutzerfokus mit: Fokus-Sichtbar". In

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -ElementenHinzufügen von Kastenschatten zu WordPress -Blöcken und -ElementenMar 09, 2025 pm 12:53 PM

Die CSS-Box-Shadow- und Umrisseigenschaften haben Thema gewonnen. JSON-Unterstützung in WordPress 6.1. Sei ein paar Beispiele für die Funktionsweise in realen Themen und welche Optionen wir diese Stile auf WordPress -Blöcke und Elemente anwenden müssen.

Arbeiten mit GraphQL CachingArbeiten mit GraphQL CachingMar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Machen Sie Ihren ersten Seltsamen -Sufle -ÜbergangMachen Sie Ihren ersten Seltsamen -Sufle -ÜbergangMar 15, 2025 am 11:08 AM

Die Sufelte Transition -API bietet eine Möglichkeit, Komponenten zu beleben, wenn sie das Dokument eingeben oder verlassen, einschließlich benutzerdefinierter Svelte -Übergänge.

Edle und coole CSS -Scrollbars: Ein SchaufensterEdle und coole CSS -Scrollbars: Ein SchaufensterMar 10, 2025 am 11:37 AM

In diesem Artikel werden wir in die Welt der Scrollbars eintauchen. Ich weiß, es klingt nicht zu glamourös, aber vertrau mir, eine gut gestaltete Seite geht Hand in Hand

Show, Don ' TellShow, Don ' TellMar 16, 2025 am 11:49 AM

Wie viel Zeit damit, die Inhaltspräsentation für Ihre Websites zu entwerfen? Wenn Sie einen neuen Blog -Beitrag schreiben oder eine neue Seite erstellen, denken Sie darüber nach

Aufbau einer Ethereum -App mit Redwood.js und FaunaAufbau einer Ethereum -App mit Redwood.js und FaunaMar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Was zum Teufel haben NPM -Befehle?Was zum Teufel haben NPM -Befehle?Mar 15, 2025 am 11:36 AM

NPM-Befehle führen verschiedene Aufgaben für Sie aus, entweder als einmalige oder als kontinuierlich ausgeführter Vorgang für Dinge wie das Starten eines Servers oder das Kompilieren von Code.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools