テンプレート変数
CoddyのDjangoジャーニー「Djangoの基礎」セクションの一部。レッスン 12/23。
ホームページには今日のおすすめ商品を表示する必要があります。そのおすすめ商品はPythonのDRINKSにあります。ビューはrender()の第3引数であるコンテキストを通じて、データをテンプレートに渡します。コンテキストは、テンプレートで使用できる名前を格納した辞書です。
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から読み込みます。
実行を押すと、ホームページに「今日のおすすめ: フラットホワイト」と表示されます。
自分で試してみよう
<!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プレイグラウンド