Menu
CoddyTech

テンプレートを読み込む

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 %} はパーツを共有します。パーツを一度変更すれば、すべてのページに反映されます。
challenge icon

チャレンジ

簡単
  • ホームページで、<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プレイグラウンド