テンプレートを読み込む
CoddyのDjangoジャーニー「Djangoの基礎」セクションの一部。レッスン 19/23。
ドリンクカード(名前、説明、価格)は、本日のおすすめを掲載するホームページと、すべてのドリンクを掲載する/drinks/に必要です。menu/templates/menu/drink_card.htmlに用意されています。2つのテンプレートにコピーする代わりに、インクルードします。
{% include "shop/price_tag.html" %}インクルードされたテンプレートはタグの位置に挿入され、同じ変数を参照できます。価格タグが{{ product.price }}を読み取る場合、{% for product in products %}の中でも動作します。項目の名前が異なる場合は、withでその部分テンプレートが期待する名前を渡します。
{% include "shop/price_tag.html" with product=deal %}{% extends %}は枠組みを共有し、{% include %}は部分テンプレートを共有します。部分テンプレートを一度変更すれば、すべてのページに反映されます。
チャレンジ
簡単両方のページにdrink_card.htmlのドリンクカードを表示します。
home.htmlで、<p>Today's special: ...</p>を<p>Today's special:</p>に置き換え、その後にspecialのドリンクカードを追加します。drinks.htmlで、各<li class="drink">の中にあるリンクと価格をドリンクカードに置き換えます。「売り切れ」の表示はそのまま残します。
実行を押します。ホームページと/drinks/に同じカードが表示されます。
自分で試してみよう
{% extends "menu/base.html" %}
{% block content %}
<h1>Welcome to Corner Café</h1>
<p>Fresh coffee and cake every day.</p>
<p>Today's special: {{ special.name }}</p>
<a href="{% url 'menu:about' %}">About us</a>
{% endblock %}
Djangoの基礎のすべてのレッスン
自分で練習してみよう: Djangoプレイグラウンド