読者です 読者をやめる 読者になる 読者になる

MacでPython3 + Jinja2を使う

Python

ベーシックなPython3とJinja2の使い方が知りたかったのだが、検索してもフレームワークを使った情報がほとんど。どうすればいいのか掴めずにいた。ようやく動作確認が取れたためそれを残しておく。


Python3のインストール

Homebrewを使ってインストールする。

$ brew install python3



Jinja2のインストール

コマンドはpip3。pipではないので注意

$ pip3 install jinja2



コンテンツの準備

構成は以下。
f:id:k0h4sh1:20170114215020p:plain


cgiserver.py

import http.server

server_address = ("", 8000)
handler_class = http.server.CGIHTTPRequestHandler
server = http.server.HTTPServer(server_address, handler_class)
server.serve_forever()



test.py

#!/usr/bin/env python3
# coding: utf-8
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('./'))
tpl = env.get_template('index.html')
html = tpl.render(name='tom')
print("Content-Type: text/html\n")
print(html)

※ 最上部のパスは必ず記述すること。
※ 上記『name='tom'』に指定された文字列が、下記HTMLの『{{name}}』に挿入される。


index.html

<html>
<head>
  <meta charset="utf-8">
  <title>jinja2 test</title>
</head>
  <body>
    <p>こんにちは、{{name}}</p>
  </body>
</html>



動作確認

サーバーを起動

$ python3 cgiserver.py

http://localhost:8000/cgi-bin/test.pyへアクセス。名前が表示されたら完了。