Inhaltsverzeichnis
Hello, {{ name }}!
Welcome to my website!
Heim Backend-Entwicklung Python-Tutorial Ein tiefer Einblick in die Template-Engine von Django und Jinja2 von Flask

Ein tiefer Einblick in die Template-Engine von Django und Jinja2 von Flask

Sep 28, 2023 am 11:39 AM
flask Django-Vorlagen-Engine Jinja-Vorlagen-Engine

Ein tiefer Einblick in die Template-Engine von Django und Jinja2 von Flask

Vertiefte Kenntnisse der Template-Engine von Django und Jinja2 von Flask, spezifische Codebeispiele sind erforderlich

Einführung:
Django und Flask sind zwei häufig verwendete und beliebte Web-Frameworks in Python. Beide bieten leistungsstarke Template-Engines für die Darstellung dynamischer Webseiten. Django verwendet eine eigene Template-Engine, während Flask Jinja2 verwendet. In diesem Artikel werfen wir einen detaillierten Blick auf die Template-Engine von Django und Jinja2 von Flask und stellen einige konkrete Codebeispiele bereit, um deren Verwendung und Unterschiede zu veranschaulichen.

1. Django-Vorlagen-Engine

  1. Erstellung und Verwendung von Vorlagen
    In Django können Sie eine Vorlage erstellen, indem Sie eine HTML-Datei erstellen und darin die Vorlagensyntax verwenden. Vorlagendateien werden normalerweise im Verzeichnis „templates“ der Anwendung gespeichert.
    Zum Beispiel können wir eine Vorlage namens „hello.html“ erstellen, wie unten gezeigt:
<!DOCTYPE html>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <h1 id="Hello-name">Hello, {{ name }}!</h1>
</body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren

In der Ansichtsfunktion können wir die Daten an die Vorlage übergeben und sie mit render rendern Funktion. Beispielsweise können wir eine Variable mit dem Namen „name“ an die Vorlage übergeben: render函数将数据传递给模板并进行渲染。例如,我们可以传递一个名为“name”的变量给模板:

from django.shortcuts import render

def hello(request):
    name = "John"
    return render(request, 'hello.html', {'name': name})
Nach dem Login kopieren
  1. 模板语法
    Django的模板引擎提供了丰富的语法来处理逻辑和数据展示。下面是一些常用的模板语法示例:
  • 变量:使用双花括号来包含变量名,例如{{ name }}
  • 标签:使用花括号和百分号来包含标签,例如{% for item in items %} {% endfor %}
  • 过滤器:可以在变量后面使用管道符号和过滤器来处理变量的输出,例如{{ name|title }}表示将name变量转换为首字母大写的形式。
  1. 模板继承
    Django的模板引擎还支持模板的继承。可以创建一个基础模板,然后其他模板可以继承基础模板,并可以重写和扩展基础模板的一些块。
    例如,我们可以创建一个名为“base.html”的基础模板,如下所示:
<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    <header>
        {% block header %}{% endblock %}
    </header>
    <div class="content">
        {% block content %}{% endblock %}
    </div>
    <footer>
        {% block footer %}{% endblock %}
    </footer>
</body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren

然后,在其他模板中可以使用extends关键字来继承并扩展基础模板,如下所示:

{% extends 'base.html' %}

{% block title %}Hello{% endblock %}

{% block header %}
    <h1 id="Welcome-to-my-website">Welcome to my website!</h1>
{% endblock %}

{% block content %}
    <p>Hello, {{ name }}!</p>
{% endblock %}
Nach dem Login kopieren
Nach dem Login kopieren

二、Flask的Jinja2

  1. 模板的创建和使用
    与Django类似,Flask使用Jinja2作为其模板引擎。同样,可以通过创建一个HTML文件来创建模板。
    在Flask中,模板文件通常存储在应用程序的“templates”目录下。
    例如,我们可以创建一个名为“hello.html”的模板,如下所示:
<!DOCTYPE html>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <h1 id="Hello-name">Hello, {{ name }}!</h1>
</body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren

在视图函数中,可以使用render_template函数来渲染模板并传递数据。例如,我们可以传递一个名为“name”的变量给模板:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def hello():
    name = "John"
    return render_template('hello.html', name=name)
Nach dem Login kopieren
  1. 模板语法
    Jinja2的模板语法与Django的模板语法类似,但有些细微差别。下面是一些常用的模板语法示例:
  • 变量:同样使用双花括号来包含变量名,例如{{ name }}
  • 控制结构:使用花括号和百分号来包含控制结构,例如{% for item in items %} {% endfor %}
  • 过滤器:同样可以在变量后面使用管道符号和过滤器来处理变量的输出,例如{{ name|title }}表示将name变量转换为首字母大写的形式。
  1. 模板继承
    Jinja2也支持模板的继承。同样可以创建一个基础模板,其他模板可以继承并重写和扩展基础模板的一些块。
    例如,我们可以创建一个名为“base.html”的基础模板,如下所示:
<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    <header>
        {% block header %}{% endblock %}
    </header>
    <div class="content">
        {% block content %}{% endblock %}
    </div>
    <footer>
        {% block footer %}{% endblock %}
    </footer>
</body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren

然后,在其他模板中使用extends

{% extends 'base.html' %}

{% block title %}Hello{% endblock %}

{% block header %}
    <h1 id="Welcome-to-my-website">Welcome to my website!</h1>
{% endblock %}

{% block content %}
    <p>Hello, {{ name }}!</p>
{% endblock %}
Nach dem Login kopieren
Nach dem Login kopieren
    Vorlagensyntax

    Djangos Vorlagen-Engine bietet eine umfangreiche Syntax für die Handhabung von Logik und Datenpräsentation. Hier sind einige häufig verwendete Vorlagensyntaxbeispiele:

    Variablen: Verwenden Sie doppelte geschweifte Klammern, um Variablennamen einzuschließen, z. B. {{ name }}.

    🎜 Tags: Verwenden Sie geschweifte Klammern und Prozentzeichen, um Tags einzuschließen, z. B. {% für item in items %} {% endfor %}. 🎜🎜Filter: Sie können Pipe-Symbole und Filter nach Variablen verwenden, um die Ausgabe von Variablen zu verarbeiten. Beispielsweise bedeutet {{ name|title }}, dass die Namensvariable in eine Großschreibung umgewandelt wird. 🎜
    🎜Template-Vererbung🎜Djangos Template-Engine unterstützt auch die Template-Vererbung. Eine Basisvorlage kann erstellt werden, und dann können andere Vorlagen die Basisvorlage erben und einige Blöcke der Basisvorlage überschreiben und erweitern. 🎜Zum Beispiel können wir eine Basisvorlage mit dem Namen „base.html“ wie folgt erstellen: 🎜🎜rrreee🎜Dann kann das Schlüsselwort extends in anderen Vorlagen verwendet werden, um die Basisvorlage zu erben und zu erweitern unten gezeigt: 🎜rrreee🎜2. Erstellung und Verwendung der Jinja2-Vorlage von Flask. Ähnlich wie Django verwendet Flask Jinja2 als Vorlagen-Engine. Ebenso können Vorlagen durch die Erstellung einer HTML-Datei erstellt werden. 🎜In Flask werden Vorlagendateien normalerweise im Verzeichnis „templates“ der Anwendung gespeichert. 🎜Zum Beispiel können wir eine Vorlage mit dem Namen „hello.html“ erstellen, wie unten gezeigt: 🎜🎜rrreee🎜In der Ansichtsfunktion können Sie die Funktion render_template verwenden, um die Vorlage zu rendern und die Daten zu übergeben. Beispielsweise können wir eine Variable mit dem Namen „name“ an die Vorlage übergeben: 🎜rrreee
      🎜Vorlagensyntax🎜Die Vorlagensyntax von Jinja2 ähnelt der Vorlagensyntax von Django, weist jedoch einige subtile Unterschiede auf. Hier sind einige Beispiele für gängige Vorlagensyntax: 🎜🎜
    🎜Variablen: Verwenden Sie auch doppelte geschweifte Klammern, um Variablennamen einzuschließen, z. B. {{ name }}. 🎜🎜Kontrollstrukturen: Verwenden Sie geschweifte Klammern und Prozentzeichen, um Kontrollstrukturen einzuschließen, z. B. {% für item in items %} {% endfor %}. 🎜🎜Filter: Sie können auch Pipe-Symbole und Filter nach Variablen verwenden, um die Ausgabe von Variablen zu verarbeiten. Beispielsweise bedeutet {{ name|title }}, dass die Namensvariable in einen Großbuchstaben umgewandelt wird. 🎜
    🎜Vorlagenvererbung🎜Jinja2 unterstützt auch die Vorlagenvererbung. Es ist auch möglich, eine Basisvorlage zu erstellen, und andere Vorlagen können einige Blöcke der Basisvorlage erben, überschreiben und erweitern. 🎜Zum Beispiel können wir eine Basisvorlage mit dem Namen „base.html“ wie folgt erstellen: 🎜🎜rrreee🎜 Dann verwenden Sie das Schlüsselwort extends in anderen Vorlagen, um die Basisvorlage zu erben und zu erweitern, wie unten gezeigt : 🎜rrreee🎜 Fazit: 🎜 Sowohl die Template-Engine von Django als auch Jinja2 von Flask bieten leistungsstarke Funktionen zum Erstellen dynamischer Webseiten-Renderings. Es gibt einige geringfügige Unterschiede in der Syntax und Verwendung zwischen den beiden, aber insgesamt sind sie sehr ähnlich. In der tatsächlichen Entwicklung können Sie je nach persönlichen Vorlieben oder Projektanforderungen eine davon verwenden. 🎜🎜Das Obige ist ein tiefgreifendes Verständnis der Template-Engine von Django und von Flasks Jinja2. Durch spezifische Codebeispiele erhalten wir ein klareres Verständnis ihrer Verwendung und Unterschiede. Ich hoffe, dass dieser Artikel Ihnen dabei hilft, diese beiden Vorlagen-Engines zu verstehen und zu verwenden. 🎜

Das obige ist der detaillierte Inhalt vonEin tiefer Einblick in die Template-Engine von Django und Jinja2 von Flask. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask Sep 27, 2023 am 11:09 AM

So erstellen Sie mit React und Flask einfache und benutzerfreundliche Webanwendungen. Einführung: Mit der Entwicklung des Internets werden die Anforderungen an Webanwendungen immer vielfältiger und komplexer. Um den Anforderungen der Benutzer an Benutzerfreundlichkeit und Leistung gerecht zu werden, wird es immer wichtiger, moderne Technologie-Stacks zum Aufbau von Netzwerkanwendungen zu verwenden. React und Flask sind zwei sehr beliebte Frameworks für die Front-End- und Back-End-Entwicklung, und sie arbeiten gut zusammen, um einfache und benutzerfreundliche Webanwendungen zu erstellen. In diesem Artikel erfahren Sie, wie Sie React und Flask nutzen

Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Jan 19, 2024 am 08:36 AM

Django und Flask sind beide führend bei Python-Web-Frameworks und haben beide ihre eigenen Vorteile und anwendbaren Szenarien. In diesem Artikel wird eine vergleichende Analyse dieser beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. Entwicklungseinführung Django ist ein Web-Framework mit vollem Funktionsumfang, dessen Hauptzweck darin besteht, schnell komplexe Webanwendungen zu entwickeln. Django bietet viele integrierte Funktionen wie ORM (Object Relational Mapping), Formulare, Authentifizierung, Verwaltungs-Backend usw. Diese Funktionen ermöglichen es Django, große Mengen zu verarbeiten

Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Feb 19, 2024 pm 04:01 PM

Von Grund auf werde ich Ihnen Schritt für Schritt beibringen, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Als Person, die gerne schreibt, ist es sehr wichtig, einen persönlichen Blog zu haben. Als leichtes Python-Web-Framework kann Flask uns dabei helfen, schnell ein einfaches und voll funktionsfähiges persönliches Blog zu erstellen. In diesem Artikel fange ich bei Null an und zeige Ihnen Schritt für Schritt, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Schritt 1: Python und pip installieren Bevor wir beginnen, müssen wir zuerst Python und pi installieren

Anleitung zur Installation des Flask-Frameworks: Detaillierte Schritte, die Ihnen bei der korrekten Installation von Flask helfen Anleitung zur Installation des Flask-Frameworks: Detaillierte Schritte, die Ihnen bei der korrekten Installation von Flask helfen Feb 18, 2024 pm 10:51 PM

Tutorial zur Installation des Flask-Frameworks: Bringen Sie Ihnen Schritt für Schritt bei, wie Sie das Flask-Framework korrekt installieren. Einführung: Flask ist ein einfaches und flexibles Python-Webentwicklungs-Framework. Es ist leicht zu erlernen, benutzerfreundlich und voller leistungsstarker Funktionen. Dieser Artikel führt Sie Schritt für Schritt durch die korrekte Installation des Flask-Frameworks und stellt detaillierte Codebeispiele als Referenz bereit. Schritt 1: Python installieren Bevor Sie das Flask-Framework installieren, müssen Sie zunächst sicherstellen, dass Python auf Ihrem Computer installiert ist. Sie können bei P beginnen

Integration von Flask und Intellij IDEA: Tipps zur Entwicklung von Python-Webanwendungen (Teil 2) Integration von Flask und Intellij IDEA: Tipps zur Entwicklung von Python-Webanwendungen (Teil 2) Jun 17, 2023 pm 01:58 PM

Im ersten Teil werden die grundlegende Flask- und Intellij IDEA-Integration, Projekt- und virtuelle Umgebungseinstellungen, Abhängigkeitsinstallation usw. vorgestellt. Als Nächstes werden wir weitere Tipps zur Entwicklung von Python-Webanwendungen untersuchen, um eine effizientere Arbeitsumgebung aufzubauen: Mit FlaskBlueprints können Sie Ihren Anwendungscode für eine einfachere Verwaltung und Wartung organisieren. Blueprint ist ein Python-Modul, das Pakete erstellt

Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI: Die beste Wahl für eine effiziente Entwicklung von WebAPI Einführung: In der modernen Softwareentwicklung ist WebAPI zu einem unverzichtbaren Bestandteil geworden. Sie stellen Daten und Dienste bereit, die die Kommunikation und Interoperabilität zwischen verschiedenen Anwendungen ermöglichen. Bei der Auswahl eines Frameworks für die Entwicklung von WebAPI haben Flask und FastAPI große Aufmerksamkeit erregt. Beide Frameworks erfreuen sich großer Beliebtheit und jedes hat seine eigenen Vorteile. In diesem Artikel werden wir uns Fl ansehen

Vergleich der Leistung von Gunicorn und uWSGI für die Bereitstellung von Flask-Anwendungen Vergleich der Leistung von Gunicorn und uWSGI für die Bereitstellung von Flask-Anwendungen Jan 17, 2024 am 08:52 AM

Flask-Anwendungsbereitstellung: Vergleich von Gunicorn und suWSGI Einführung: Flask ist als leichtes Python-Web-Framework bei vielen Entwicklern beliebt. Bei der Bereitstellung einer Flask-Anwendung in einer Produktionsumgebung ist die Auswahl der geeigneten Server Gateway Interface (SGI) eine entscheidende Entscheidung. Gunicorn und uWSGI sind zwei gängige SGI-Server. In diesem Artikel werden sie ausführlich beschrieben.

Erstellen Sie interaktive Webanwendungen zur Datenvisualisierung mit Flask und D3.js Erstellen Sie interaktive Webanwendungen zur Datenvisualisierung mit Flask und D3.js Jun 17, 2023 pm 09:00 PM

Datenanalyse und Datenvisualisierung sind in den letzten Jahren in vielen Branchen und Bereichen zu unverzichtbaren Fähigkeiten geworden. Für Datenanalysten und -forscher ist es sehr wichtig, den Benutzern große Datenmengen zu präsentieren und ihnen durch Visualisierung die Bedeutung und Eigenschaften der Daten verständlich zu machen. Um diesem Bedarf gerecht zu werden, ist es zu einem Trend geworden, D3.js zum Erstellen interaktiver Datenvisualisierungen in Webanwendungen zu verwenden. In diesem Artikel erfahren Sie, wie Sie mit Flask und D3.js interaktive Datenvisualisierungen für das Web erstellen

See all articles