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

Wie sieht es aus, Ihren eigenen Code neu zu gestalten? John Rhea nimmt eine alte CSS -Animation auseinander, die er geschrieben hat, und geht durch den Denkprozess der Optimierung.

CsSanimationsarenotinherenthardbutRequirePractICEANDUnDing-fordertofcsPropertiesandTimingfunktionen.1) StartwithsimpleanimationslikescalingabuttononoversKeyFrames.2) useaSingFunctionslikecubic-BezierForteffects, SuchasabouNects, SuchasabouNects,, zu

@KeyFramesispopulardUeToitSverSatility und PowerIncreatingsmoothcsSanimations.KectrickSinclude: 1) DefiningsmoothTransitionSbetTates, 2) AnimatingMultipleProperTiesimultan, 3) mit VendorprefixesforBrowserCompatible, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren

CSSCOUSTERSSARUSTOMANAGEAUTOMATICNUMBERINGINWEBDEsigns.1) Sie konzipieren SieForsofcontents, ListItems und CustomNumbering.2) AdvanceduSesincnednumberingSystem.3) CHEFORDIGESINCLUDSERCOMPATIBILIBLEISE.4) CreativeuSinvolvecustInance

Die Verwendung von Scroll -Schatten, insbesondere für mobile Geräte, ist ein subtiles Stück UX, das Chris zuvor abgedeckt hat. Geoff deckte einen neueren Ansatz ab, der die Immobilie der Animationszeit verwendet. Hier ist ein anderer Weg.

Lassen Sie uns eine kurze Auffrischung durchlaufen. Bildkarten datieren bis zu HTML 3.2, wobei zuerst die serverseitigen Karten und dann die clientseitigen Karten klickbare Regionen über ein Bild mit Karten- und Bereichselementen definiert sind.

Die Umfrage von State of Devs ist nun offen für die Teilnahme und deckt im Gegensatz zu früheren Umfragen alles außer Code ab: Karriere, Arbeitsplatz, aber auch Gesundheit, Hobbys und mehr.

CSS Grid ist ein leistungsstarkes Tool zum Erstellen komplexer, reaktionsschneller Weblayouts. Es vereinfacht das Design, verbessert die Zugänglichkeit und bietet mehr Kontrolle als ältere Methoden.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.
