テンプレート内で変数に代入したい

お題:A.html、B.html の2つで、hoge.html というテンプレートを使い回している(=includeしている)として、ページタイトルをAとBで異なる物にしたい。タイトルは固定的な文字列なので、ハンドラーから渡すんじゃなく、テンプレート内で定数のように定義しておきたい。

答え:withテンプレートタグを使う。

A.html

<body>
{% with "AAAA" as title %}
{% include "hoge.html" %}
{% endwith %}
</body>

B.html

<body>
{% with "BBBB" as title %}
{% include "hoge.html" %}
{% endwith %}
</body>

hoge.html

<div>このページは {{title}} です!</div>

ってやっておくと、表示したときに以下のようになる。
A.html

このページは AAAA です!

B.html

このページは BBBB です!