模板变量
本课属于 Coddy Django 学习旅程的“Django 基础”单元。第 12 课,共 23 课。
首页应该展示今日特饮,而特饮定义在 Python 的 DRINKS 中。视图通过 render() 的第三个参数把数据传给模板,这个参数叫上下文:它是一个字典,包含模板可以使用的名称。
def team(request):
barista = {"name": "Maya", "since": 2024}
return render(request, "menu/team.html", {"barista": barista}){{ barista }} 会输出一个值。用点号可以访问它内部的内容:{{ barista.name }} 会读取字典中的键或对象的属性。
<p>{{ barista.name }} has made your coffee since {{ barista.since }}.</p>模板不是 Python:barista["name"] 会报错,而上下文中没有的名称不会输出任何内容,也不会报错。如果页面上缺少某个值,请先检查拼写。
挑战
简单在主页显示今日特饮。
- 在
menu/views.py中,让home将DRINKS中的馥芮白作为special传递给模板。 - 在
home.html中,在第一个段落后添加<p>Today's special: Flat White</p>,并从special读取名称。
按“运行”:主页会显示 Today's special: Flat White。
亲手试试
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Corner Café</title>
</head>
<body>
<h1>Welcome to Corner Café</h1>
<p>Fresh coffee and cake every day.</p>
<a href="{% url 'menu:about' %}">About us</a>
</body>
</html>
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
Django 基础中的所有课
自己练习: Django 在线编辑器