私のdjangoアプリケーションには、doctype、script、cssタグなどの典型的なベーステンプレートがありました。
明確さとコード編成のために、この基本テンプレートを構成部分に分解し、各部分が前の部分を拡張して、特定のものを1つだけ追加しました。例:base / favicon.html:
{% extends "base/chromeframe.html" %}
{% load staticlink %}
{% block metatags %}{{ block.super }}
<link href="{% staticlink 'img/favicon.ico' %}" rel="shortcut icon" type="image/x-icon">{% endblock metatags %}
base / chromeframe.htmlを拡張します:
{% extends "base/mobile.html" %}
{% block metatags %}{{ block.super }}{% if 'chromeframe' in request.META.HTTP_USER_AGENT %}
<meta http-equiv="X-UA-Compatible" content="chrome=1">{% endif %}{% endblock metatags %}
これにより、ベーステンプレートがより管理しやすくなります。 このアプローチに対して大きなパフォーマンスペナルティを支払っていますか? テンプレートレンダリングのベンチマークを行うための良い方法は何ですか?
継承ではなくインクルードを使用することを提案する前に、ベーステンプレートから派生したページによってオーバーライドされるブロックを設定しているため、これは機能しません。
これらのテンプレートパーツのある種の事前コンパイルを設定できることは承知しています。