Python用テンプレートエンジンのJinja2をインストール

Python用テンプレートエンジンのJinja2をインストール プログラミング

テンプレートエンジンを使ったことがありますか?
使ってみれば、便利なモノだとわかるでしょう。

Pythonでテンプレートエンジンと言えば、Jinja2が候補に挙がることが多いです。

本記事の内容

  • Jinja2とは?
  • Jinja2のシステム要件
  • Jinja2のインストール
  • Jinja2の動作確認

それでは、上記に沿って解説していきましょう。

Jinja2とは?

Jinja2とは、テキストベースのテンプレートエンジン(言語)です。

テンプレートエンジンは、開発者とデザイナーの分業で力を発揮します。
実際、私は過去にテンプレートエンジンにお世話になりました。

その時は、PHPのSmartyを利用していました。
まだ、ガラケーとかが存在していた時です。

ガラケー用の画面とPC用の画面をそれぞれ作成する必要がありました。
今から考えると無駄に感じますよね。

でも、その分だけクライアントからお金を取れました。
そのような時代もあったということです。

話を戻すと、テンプレートエンジンが生み出すのは「分離」と言えます。
上記の昔話からも、以下の分離が出てきました。

  • 開発者とデザイナーの分離(分業)
  • PC画面とガラケー画面の分離(別々に制作可能)

これらの分離が可能なのは、なぜだと思いますか?
それは、データと表示が別れているから可能なのです。

そして、データと表示の間を取り持つのがテンプレートエンジンと言えます。

以上、Jinja2を昔話を添えて説明しました。
次は、Jinja2のシステム要件を確認しましょう。

Jinja2のシステム要件

現時点(2021年4月)でのJinja2の最新バージョンは、2.11.3となります。
この最新バージョンは、2021年1月1日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

OSに関しては、特に気にする必要はありません。
ただ、Pythonのバージョンには注意が必要です。

  • Python 2.7
  • Python 3.5以降

上記の条件が、存在しています。
つまり、古いPython 3系はダメということです。

以上、Jinja2のシステム要件についてでした。
次は、Jinja2をインストールしていきます。

Jinja2のインストール

最初に、現状のインストール済みパッケージを確認しておきます。

>pip list
Package    Version
---------- -------
pip        21.0.1
setuptools 54.2.0

次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip

では、Jinja2のインストールです。
Jinja2のインストールは、以下のコマンドとなります。

pip install Jinja2

インストールは、一瞬で終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list
Package    Version
---------- -------
Jinja2     2.11.3
MarkupSafe 1.1.1
pip        21.0.1
setuptools 54.2.0

Jinja2とともに、MarkupSafeというパッケージがインストールされています。
MarkupSafeは、HTMLやXMLの文字列をエスケープするライブラリですね。

以上、Jinja2のインストールについての説明でした。
最後は、Jinja2の動作確認を行います。

Jinja2の動作確認

Jinja2の動作確認用のサンプルコードは、以下。

from jinja2 import Template

template = Template('このサンプルコードは、 {{ title }}用です。')
result = template.render(title='Jinja2の動作確認')

print(result)

上記を実行した結果は、以下。

このサンプルコードは、 Jinja2の動作確認用です。

プログラムの内容は、説明不要ですね。
上記の例では、文字列をテンプレートにしています。

文字列よりは、ファイルをテンプレートにすることの方が多いかもしれません。
でも、ファイルも結局は文字列の集合に過ぎませんけどね。

使い方は、私が以前に利用していたSmartyに似ています。
そもそも、テンプレートエンジンはどれも似たようなルールになってしまいます。

以上、Jinja2の動作確認について説明しました。

タイトルとURLをコピーしました