そこで、ウェブサイトのすべてのページにフッターとヘッダーを追加しようとしています。サイトの一般的なレイアウトを含むbase.htmlファイルを作成しました。
About.htmlページで、次のことを行いました。
{% extends "public/base.html" %}
<h1>Content goes here</h1>
ヘッダーとフッターは表示できますが、コンテンツを表示するにはどうすればよいですか。そのabout.htmlページに何かを入力したいと思います。ここにあるコンテンツは中央に表示されていません。
Base.htmlでブロックを定義し、about.htmlに入力する必要があります。
base.html:
<header>...</header>
{% block content %}{% endblock %}
<footer>...</footer>
about.html
{% extends "public/base.html" %}
{% block content %}
<h1>Content goes here</h1>
{% endblock %}
これはすべてチュートリアルで完全に説明されています。
{% extends "public/base.html" %}
{% block content %}
<h1>Content goes here</h1>
{% endblock %}
または、単にabout.html
そして、メインhtmlの任意の場所に追加します。
例:
{% extends "public/base.html" %}
{% block content %}
"Your code"
{% include "core/about.html" %}
{% endblock %}
Base.htmlが次のようになっているとしましょう:
<html>
<body>
<!-- header code -->
{% block content %}
{% endblock %}
<!-- footer code -->
</body>
<html>
次に、他のファイルでこれを行います:
{% extends "base.html" %}
{% block content %}
<!-- Content here -->
{% endblock %}
テンプレート(拡張ファイル)のbodyタグ内に配置されたものはすべて、子ファイルのコンテンツ内のものによって上書きされますが、そのタグの外部のものはすべて、その中に拡張またはコピーされます。