テンプレートエンジンのJinjaを使ってみる
テンプレートエンジンには、なんでおもしろい名前を付けられるんだろうか。Makoも日本語の「マコ」を想像させ、身近な感じがしておもしろかったが、今度はそのものズバリ、Jinja。これって「神社」なんです。
ドキュメントを日本語に翻訳しているサイトがあって、FAQに理由が書かれていた
なぜJinjaというの?
Jinjaという名前は日本の「神社 (temple)」に由来します。そして temple と template の発音が似ていることからその名前を採用しました。ウガンダの首都にちなんだものではありません。
名前はユニークですが、使い方は簡単そうです。まあ、自分が使う場面は簡単なものばかりなんですが。
実験環境
- Ubuntu 10.04LTS
- Python 2.6.5
インストール
$ sudo easy_install Jinja2
Jinja2-2.6がインストールされました。
簡単な使用例
スクリプトと同じディレクトリに、テンプレートファイル test.tmpl を置き、HTMLファイルを作ってみます。
スクリプト
#!/usr/bin/env python # -*- coding:utf-8 -*- from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('./', encoding='utf8')) tmpl = env.get_template('test.tmpl') html = tmpl.render(name=u"オバマ大統領") print html
テンプレートファイル test.tmpl
<html> <body> <p>こんにちわ, {{ name }}</p> </body> </html>
スクリプトを実行すると、テンプレートの{{ name }}が「オバマ大統領」に置き換えられたHTMLが出力されます
<html> <body> <p>こんにちわ, オバマ大統領</p> </body> </html>
テンプレートにnameを渡すんですが、文字列の文字コードをunicodeにしないとテンプレート処理でエラーが発生します。もうちょっと、いろいろと使って試したいと思います。
参考
【送料無料】初めてのPython第3版 |