【Python/Flask】テンプレートエンジンで変数展開

PythonモジュールFlaskのテンプレートエンジンで変数展開する方法についてまとめました。

【Flask】テンプレートエンジンで変数展開

Pythonモジュール「Flask」にはNinjaというテンプレートエンジンが標準搭載されています。
今回はこれを用いて変数展開してみます。

サンプルコード

サンプルプログラムのソースコードです。

Python

test.py

# -*- coding:utf-8 -*-
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')

def test_page():
    h3_title = "Savar"
    title = 'Sarvant'
    return render_template('test_page.html', title=title, h3_title=h3_title) #変更

if __name__ == "__main__":
    app.run(debug=True)

共通テンプレート

./templates/layout.html

<!doctype html>
<html>
<head>
<title>{{ title }}</title>
<body>

{% block content %}
<!-- 個別ページが挿入される -->
{% endblock %}

</body>
</head>

個別ページ

./templates/test_page.html

{% extends "layout.html" %}
{% block content %}
<h3>{{ h3_title }}</h3>
{% endblock %}

実行結果

「http://localhost:5000/」にブラウザでアクセスします。
すると、タイトル「Sarvant」、H3タグ「Savar」のページにアクセスできます。
このようにPythonのスクリプトファイルの変数をHTMLに展開できます。

関連記事
1 【Python/Flask】Webフレームワーク入門
2 Python入門 基本文法
関連記事