テンプレートを読み込む
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 %} はパーツを共有します。パーツを一度変更すれば、すべてのページに反映されます。チャレンジ
簡単- ホームページで、
<p>Today's special: ...</p>を<p>Today's special:</p>に置き換え、その後にspecialのドリンクカードを配置します。 /drinks/では、各<li class="drink">の中で、リンクと価格をドリンクカードに置き換えます。「売り切れ」の表示は残します。
実行を押します。両方のページに同じカードが表示されます。
自分で試してみよう
{% 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プレイグラウンド