ほぼ似たようなコンセプトのページなんだけど、簡単にページ作成できないかた

Djangoでは、似たようなコンセプトのページを効率的に作成するために、以下のアプローチがあります。

Djangoの継承を利用する

1. ベーステンプレートの作成

似たようなコンセプトのページで共通の部分を持つベーステンプレートを作成します。

html
<!-- base.html --> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>{% block title %}My Site{% endblock %}</title> <!-- 共通のCSSやJavaScriptのリンクなど --> {% block extra_head %}{% endblock %} </head> <body> <!-- 共通のナビゲーションやヘッダーなど --> {% block header %}{% endblock %} <!-- コンテンツ部分 --> <div class="content"> {% block content %}{% endblock %} </div> <!-- 共通のフッターなど --> {% block footer %}{% endblock %} <!-- 共通のJavaScriptなど --> {% block extra_script %}{% endblock %} </body> </html>

2. ページテンプレートの作成

ベーステンプレートを継承して、似たようなコンセプトのページごとに個別の内容を記述します。

html
<!-- page1.html --> {% extends "base.html" %} {% block title %}Page 1{% endblock %} {% block content %} <h1>Page 1 Content</h1> <!-- ページ1独自のコンテンツ --> {% endblock %}
html
<!-- page2.html --> {% extends "base.html" %} {% block title %}Page 2{% endblock %} {% block content %} <h1>Page 2 Content</h1> <!-- ページ2独自のコンテンツ --> {% endblock %}

このようにすることで、ベーステンプレートで定義した共通の部分を保持しつつ、各ページごとに異なる内容を表示できます。継承を利用することで、コードの重複を避けつつ、保守性を高めることができます。

未分類

Posted by ぼっち