2011年12月20日火曜日

テンプレートの継承

GAEのPythonでもテンプレートの継承ができます。
ASP.NETのマスターページみたいな感じです。

親テンプレート例
<html>
<body>
Content1<br />
{% block content1 %}{% endblock content1 %}<br />
<br />
Content2<br />
{% block content2 %}{% endblock content2 %}<br />
</body>
</html>


子テンプレート例
{% extends "base.tpl" %}
{% block content1 %}
content1: {{my_content1}}
{% endblock content1%}
{% block content2 %}
content2: {{my_content2}}
{% endblock content2%}


マスターページではマスターページで処理するコードも書けるのですが、
Pythonだと単なるテンプレートなので無理そう。
と、調べてみたところテンプレートタグやフィルタを作成してロードすれば
よいらしい。

Django v1.0 documentation
テンプレートタグやフィルタを自作する
http://djangoproject.jp/doc/ja/1.0/howto/custom-template-tags.html

ASP.NETと比べたらちょっと面倒。
というか、VisualStudioはインストールするだけでほぼ環境が揃って
開発の手間がかからないという点では本当に素晴らしいと思う。
ただ、動かすのにWindowsが必要なので、安価にネット上で構築するには
不向き。社内システムなんかだといいんだろうけど。

0 件のコメント:

コメントを投稿