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

挑战

简单

为每个页面设置自己的标题。

  1. 在 base.html 中,将标题文本设为名为 title 的块,默认值为 Corner Café。
  2. 在 drinks.html 中,将 /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 在线编辑器