为每个页面设置标题
本课属于 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。
挑战
简单为每个页面设置自己的标题。
- 在
base.html中,将标题文本设为名为title的块,默认值为Corner Café。 - 在
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>
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
Django 基础中的所有课
自己练习: Django 在线编辑器