- テンプレートの継承: Djangoでは、テンプレートの継承を使用してHTMLを拡張することができます。基本となるテンプレートを作成し、他のテンプレートでそのテンプレートを継承することで、コンテンツを追加・修正することができます。以下は例です。
<!-- base.html -->
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<div id="content">
{% block content %}
{% endblock %}
</div>
</body>
</html>
<!-- child.html -->
{% extends "base.html" %}
{% block title %}
タイトルの追加
{% endblock %}
{% block content %}
コンテンツの追加
{% endblock %}
-
ブロックの上書き: 継承したテンプレートでは、親テンプレートのブロックを上書きすることができます。上記の例では、"title"と"content"というブロックが定義されています。子テンプレートでは、これらのブロックを上書きして独自のコンテンツを追加することができます。
-
インクルード: テンプレート内で他のテンプレートをインクルードすることもできます。これにより、再利用可能なコードを作成し、HTMLの拡張を簡単に行うことができます。
<!-- base.html -->
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<div id="content">
{% block content %}
{% endblock %}
</div>
<div id="sidebar">
{% include "sidebar.html" %}
</div>
</body>
</html>
以上がDjangoでHTMLを拡張する方法の概要です。テンプレートの継承、ブロックの上書き、インクルード、テンプレートタグとフィルタを組み合わせて、柔軟で再利用可能なHTMLテンプレートを作成することができます。