Menu
CoddyTech

各ページにタイトルを付ける

CoddyのDjangoジャーニー「Djangoの基礎」セクションの一部。レッスン 18/23。

/drinks/はbase.htmlを継承しているため、タイトルはホームページと同じCorner Caféと表示されます。ブロックを使えばこれを変更できます。ブロックにはデフォルトのコンテンツを含められるからです。ブロックに内容を指定したページではデフォルトの内容が置き換えられ、指定しないページではそのまま使われます。

<h1>{% block heading %}City Library{% endblock %}</h1>
<article>{% block body %}{% endblock %}</article>

フレームには必要なだけブロックを含められ、それぞれに固有の名前を付けられます。このページでは両方に内容を指定します。

{% extends "library/base.html" %}

{% block heading %}Opening Times{% endblock %}
{% block body %}<p>Until 20:00.</p>{% endblock %}

bodyだけに内容を指定するページでは、見出しのCity Libraryがそのまま使われます。

challenge icon

チャレンジ

簡単
  • base.htmlで、タイトルのテキストをtitleという名前のブロックにし、デフォルト値をCorner Caféにします。
  • /drinks/のタイトルをOur Drinks | Corner Caféにします。ホームページではデフォルトのままにします。

実行を押すと、/drinks/でサイトのタイトルバーにOur Drinks | Corner Caféと表示されます。

自分で試してみよう

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Corner Café</title>
</head>
<body>
    <nav>
        <a href="{% url 'menu:home' %}">Home</a>
        <a href="{% url 'menu:drinks' %}">Drinks</a>
        <a href="{% url 'menu:about' %}">About</a>
    </nav>
    <main>
        {% block content %}{% endblock %}
    </main>
</body>
</html>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Djangoの基礎のすべてのレッスン

自分で練習してみよう: Djangoプレイグラウンド