ホームページ >ウェブフロントエンド >CSSチュートリアル >フラスコのJinja2を使用したテンプレート:必需品

フラスコのJinja2を使用したテンプレート:必需品

Lisa Kudrow
Lisa Kudrowオリジナル
2025-02-28 09:10:17387ブラウズ

Jinja2:Flaskアプリケーションの効率的なテンプレートエンジン

Jinja2は、インライン表現とオプションのサンドボックス環境をサポートしながら、Djangoのような非XML構文を提供する純粋なPython作成テンプレートエンジンです。コンパクトで、高速で使いやすく、スタンドアロンテンプレートエンジンです。 Flaskは、Webアプリケーションを迅速かつ効率的に作成できる小さなPythonベースのWebフレームワークです。

この一連のチュートリアルでは、Flaskの観点からJinja2テンプレートの基本的な知識を説明します。次のセクションでは、高度なテンプレートのトピックを紹介し、フラスコベースのアプリケーションでモジュラーでスケーラブルな方法でテンプレートをレイアウトする方法を学びます。

このチュートリアルは、Flaskの基本を習得し、Pythonアプリケーション開発にVirtualenvを使用して環境をセットアップするためのベストプラクティスを理解したことを前提としています。

インストールパック

FlaskにはJinja2が付属しているため、Flaskのみを取り付ける必要があります。このチュートリアルシリーズでは、より安定したコマンドラインのサポートや、他の多くの機能と改善を含むFlaskの開発バージョンを使用することをお勧めします。

<code class="language-bash">pip install https://github.com/mitsuhiko/flask/tarball/master</code>
なぜテンプレートエンジンが必要なのですか?

フラスコでは、サードパーティのテンプレートエンジンなしで完全なWebアプリケーションを作成できます。 if、else、

ブロックの簡単な例を見てみましょう。次のように{% %}ページを更新してください:home.html

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>
以下に示すように、このテンプレートがアッパーフィルターをどのように拡張するかをご覧ください:

<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>
さて、サーバーを実行する場合、製品名がすべて大文字であることに気付くはずです。

Templating With Jinja2 in Flask: Essentials

要約

このチュートリアルでは、フラスコベースのアプリケーションでJinja2レイアウトテンプレート構造を使用する方法を学びました。また、ブロックを使用してテンプレートの継承を活用する方法を学びました。

このシリーズの次の部分では、カスタムフィルター、カスタムコンテキストプロセッサ、マクロの作成方法を学びます。

この記事は更新され、Esther Vaatiからの貢献が含まれています。 Estherはソフトウェア開発者であり、Envato Tutsの貢献者です。

以上がフラスコのJinja2を使用したテンプレート:必需品の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。