Table des matières
Hello, {{ name }}!
Welcome to my website!
Maison développement back-end Tutoriel Python Une plongée approfondie dans le moteur de modèles de Django et Jinja2 de Flask

Une plongée approfondie dans le moteur de modèles de Django et Jinja2 de Flask

Sep 28, 2023 am 11:39 AM
flask moteur de modèles Django moteur de modèles jinja

Une plongée approfondie dans le moteur de modèles de Django et Jinja2 de Flask

Compréhension approfondie du moteur de modèles de Django et de Jinja2 de Flask, des exemples de code spécifiques sont requis

Introduction :
Django et Flask sont deux frameworks Web couramment utilisés et populaires en Python. Ils fournissent tous deux de puissants moteurs de modèles pour gérer le rendu des pages Web dynamiques. Django utilise son propre moteur de modèles, tandis que Flask utilise Jinja2. Cet article examinera en profondeur le moteur de modèles de Django et Jinja2 de Flask, et fournira quelques exemples de code concrets pour illustrer leur utilisation et leurs différences.

1. Moteur de modèles Django

  1. Création et utilisation de modèles
    Dans Django, vous pouvez créer un modèle en créant un fichier HTML et en y utilisant la syntaxe du modèle. Les fichiers modèles sont généralement stockés dans le répertoire « modèles » de l'application.
    Par exemple, nous pouvons créer un modèle appelé "hello.html" comme indiqué ci-dessous :
<!DOCTYPE html>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <h1 id="Hello-name">Hello, {{ name }}!</h1>
</body>
</html>
Copier après la connexion
Copier après la connexion

Dans la fonction d'affichage, nous pouvons transmettre les données au modèle et les restituer en utilisant le render fonction . Par exemple, nous pouvons transmettre une variable nommée « nom » au modèle : render函数将数据传递给模板并进行渲染。例如,我们可以传递一个名为“name”的变量给模板:

from django.shortcuts import render

def hello(request):
    name = "John"
    return render(request, 'hello.html', {'name': name})
Copier après la connexion
  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>
Copier après la connexion
Copier après la connexion

然后,在其他模板中可以使用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 %}
Copier après la connexion
Copier après la connexion

二、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>
Copier après la connexion
Copier après la connexion

在视图函数中,可以使用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)
Copier après la connexion
  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>
Copier après la connexion
Copier après la connexion

然后,在其他模板中使用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 %}
Copier après la connexion
Copier après la connexion
    Syntaxe du modèle

    Le moteur de modèle de Django fournit une syntaxe riche pour gérer la logique et la présentation des données. Voici quelques exemples courants de syntaxe de modèle :

    Variables : utilisez des doubles accolades pour entourer les noms de variables, tels que {{ name }}.

    🎜 Balises : utilisez des accolades et des signes de pourcentage pour inclure des balises, telles que {% for item in items %} {% endfor %}. 🎜🎜Filtre : vous pouvez utiliser des symboles de barre verticale et des filtres après les variables pour traiter la sortie des variables. Par exemple, {{ name|title }> signifie convertir le nom de la variable en une forme en majuscule. 🎜
    🎜Héritage de modèles🎜Le moteur de modèles de Django prend également en charge l'héritage de modèles. Un modèle de base peut être créé, puis d'autres modèles peuvent hériter du modèle de base et remplacer et étendre certains blocs du modèle de base. 🎜Par exemple, nous pouvons créer un modèle de base nommé "base.html" comme suit : 🎜🎜rrreee🎜Ensuite, le mot-clé extends peut être utilisé dans d'autres modèles pour hériter et étendre le modèle de base, comme montré ci-dessous : 🎜rrreee🎜2. Création et utilisation du modèle Jinja2🎜🎜🎜de Flask🎜Semblable à Django, Flask utilise Jinja2 comme moteur de modèle. De même, des modèles peuvent être créés en créant un fichier HTML. 🎜Dans Flask, les fichiers modèles sont généralement stockés dans le répertoire "templates" de l'application. 🎜Par exemple, nous pouvons créer un modèle appelé "hello.html" comme indiqué ci-dessous : 🎜🎜rrreee🎜Dans la fonction d'affichage, vous pouvez utiliser la fonction render_template pour restituer le modèle et transmettre les données. Par exemple, nous pouvons passer une variable nommée "name" au modèle : 🎜rrreee
      🎜Syntaxe du modèle🎜La syntaxe du modèle de Jinja2 est similaire à la syntaxe du modèle de Django, mais avec quelques différences subtiles. Voici quelques exemples courants de syntaxe de modèle : 🎜🎜
    🎜Variables : utilisez également des doubles accolades pour inclure des noms de variables, tels que {{ name }}. 🎜🎜Structures de contrôle : utilisez des accolades et des signes de pourcentage pour inclure des structures de contrôle, telles que {% for item in items %} {% endfor %}. 🎜🎜Filtre : vous pouvez également utiliser des symboles de barre verticale et des filtres après les variables pour traiter la sortie des variables. Par exemple, {{ name|title }> signifie convertir le nom de la variable pour mettre la première lettre en majuscule. 🎜
    🎜Héritage de modèles🎜Jinja2 prend également en charge l'héritage de modèles. Il est également possible de créer un modèle de base, et d'autres modèles peuvent hériter, remplacer et étendre certains blocs du modèle de base. 🎜Par exemple, nous pouvons créer un modèle de base nommé "base.html" comme suit : 🎜🎜rrreee🎜 Ensuite, utilisez le mot-clé extends dans d'autres modèles pour hériter et étendre le modèle de base, comme indiqué ci-dessous : 🎜rrreee🎜 Conclusion : 🎜 Le moteur de modèles de Django et Jinja2 de Flask offrent des fonctionnalités puissantes pour créer des rendus de pages Web dynamiques. Il existe de légères différences de syntaxe et d’utilisation entre les deux, mais dans l’ensemble, elles sont très similaires. Dans le développement réel, vous pouvez choisir d'utiliser l'un d'entre eux en fonction de vos préférences personnelles ou des besoins du projet. 🎜🎜Ce qui précède est une compréhension approfondie du moteur de modèles de Django et de Jinja2 de Flask. Grâce à des exemples de code spécifiques, nous avons une compréhension plus claire de leur utilisation et de leurs différences. J'espère que cet article vous aidera à comprendre et à utiliser ces deux moteurs de modèles. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer des applications Web simples et faciles à utiliser avec React et Flask Comment créer des applications Web simples et faciles à utiliser avec React et Flask Sep 27, 2023 am 11:09 AM

Comment utiliser React et Flask pour créer des applications Web simples et faciles à utiliser Introduction : Avec le développement d'Internet, les besoins des applications Web deviennent de plus en plus diversifiés et complexes. Afin de répondre aux exigences des utilisateurs en matière de facilité d'utilisation et de performances, il devient de plus en plus important d'utiliser des piles technologiques modernes pour créer des applications réseau. React et Flask sont deux frameworks très populaires pour le développement front-end et back-end, et ils fonctionnent bien ensemble pour créer des applications Web simples et faciles à utiliser. Cet article détaillera comment exploiter React et Flask

Django vs Flask : une analyse comparative des frameworks Web Python Django vs Flask : une analyse comparative des frameworks Web Python Jan 19, 2024 am 08:36 AM

Django et Flask sont tous deux leaders dans les frameworks Web Python, et ils ont tous deux leurs propres avantages et scénarios applicables. Cet article procédera à une analyse comparative de ces deux frameworks et fournira des exemples de code spécifiques. Introduction au développement Django est un framework Web complet, son objectif principal est de développer rapidement des applications Web complexes. Django fournit de nombreuses fonctions intégrées, telles que ORM (Object Relational Mapping), formulaires, authentification, backend de gestion, etc. Ces fonctionnalités permettent à Django de gérer de grandes

Partez de zéro et vous guidez étape par étape pour installer Flask et créer rapidement un blog personnel Partez de zéro et vous guidez étape par étape pour installer Flask et créer rapidement un blog personnel Feb 19, 2024 pm 04:01 PM

En partant de zéro, je vais vous apprendre étape par étape comment installer Flask et créer rapidement un blog personnel. En tant que personne qui aime écrire, il est très important d'avoir un blog personnel. En tant que framework Web Python léger, Flask peut nous aider à créer rapidement un blog personnel simple et entièrement fonctionnel. Dans cet article, je vais repartir de zéro et vous apprendre étape par étape comment installer Flask et créer rapidement un blog personnel. Étape 1 : Installer Python et pip Avant de commencer, nous devons d'abord installer Python et pi

Guide d'installation du framework Flask : étapes détaillées pour vous aider à installer Flask correctement Guide d'installation du framework Flask : étapes détaillées pour vous aider à installer Flask correctement Feb 18, 2024 pm 10:51 PM

Tutoriel d'installation du framework Flask : vous apprendrez étape par étape comment installer correctement le framework Flask. Des exemples de code spécifiques sont requis. Introduction : Flask est un framework de développement Web Python simple et flexible. Il est facile à apprendre, facile à utiliser et doté de fonctionnalités puissantes. Cet article vous guidera étape par étape pour installer correctement le framework Flask et fournira des exemples de code détaillés pour référence. Étape 1 : installer Python Avant d'installer le framework Flask, vous devez d'abord vous assurer que Python est installé sur votre ordinateur. Vous pouvez commencer à partir de P

Intégration Flask et Intellij IDEA : conseils de développement d'applications Web Python (partie 2) Intégration Flask et Intellij IDEA : conseils de développement d'applications Web Python (partie 2) Jun 17, 2023 pm 01:58 PM

La première partie présente l'intégration de base de Flask et d'Intellij IDEA, les paramètres du projet et de l'environnement virtuel, l'installation des dépendances, etc. Nous continuerons ensuite à explorer d'autres conseils de développement d'applications Web Python pour créer un environnement de travail plus efficace : Utiliser FlaskBlueprintsFlaskBlueprints vous permet d'organiser le code de votre application pour une gestion et une maintenance plus faciles. Blueprint est un module Python qui regroupe

Flask vs FastAPI : le meilleur choix pour un développement efficace d'API Web Flask vs FastAPI : le meilleur choix pour un développement efficace d'API Web Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI : Le meilleur choix pour un développement efficace de WebAPI Introduction : Dans le développement de logiciels modernes, WebAPI est devenu un élément indispensable. Ils fournissent des données et des services qui permettent la communication et l'interopérabilité entre différentes applications. Lors du choix d'un framework pour développer WebAPI, Flask et FastAPI sont deux choix qui ont beaucoup retenu l'attention. Les deux frameworks sont très populaires et chacun présente ses propres avantages. Dans cet article, nous examinerons Fl

Comparaison des performances de Gunicorn et d'uWSGI pour le déploiement d'applications Flask Comparaison des performances de Gunicorn et d'uWSGI pour le déploiement d'applications Flask Jan 17, 2024 am 08:52 AM

Déploiement d'applications Flask : comparaison de Gunicorn et suWSGI Introduction : Flask, en tant que framework Web Python léger, est apprécié par de nombreux développeurs. Lors du déploiement d'une application Flask dans un environnement de production, le choix de l'interface de passerelle serveur (SGI) appropriée est une décision cruciale. Gunicorn et uWSGI sont deux serveurs SGI courants. Cet article les décrira en détail.

Créez des applications Web interactives de visualisation de données à l'aide de Flask et de D3.js. Créez des applications Web interactives de visualisation de données à l'aide de Flask et de D3.js. Jun 17, 2023 pm 09:00 PM

Ces dernières années, l’analyse et la visualisation des données sont devenues des compétences indispensables dans de nombreux secteurs et domaines. Il est très important pour les analystes de données et les chercheurs de présenter de grandes quantités de données aux utilisateurs et de permettre à ces derniers de comprendre la signification et les caractéristiques des données grâce à la visualisation. Pour répondre à ce besoin, il est devenu courant d'utiliser D3.js pour créer des visualisations de données interactives dans des applications Web. Dans cet article, nous verrons comment créer des visualisations de données interactives pour le Web à l'aide de Flask et D3.js.

See all articles