Menu
CoddyTech

Chèn một mẫu

Thuộc phần Kiến thức cơ bản về Django trong hành trình Django của Coddy. Bài học 19 trên 23.

Thẻ đồ uống (tên, mô tả, giá) cần xuất hiện trên trang chủ để giới thiệu món đặc biệt hôm nay và trên /drinks/ để hiển thị mọi đồ uống. Thẻ đã có sẵn trong menu/templates/menu/drink_card.html. Thay vì sao chép thẻ vào hai mẫu, hãy include thẻ:

{% include "shop/price_tag.html" %}

Mẫu được include sẽ chèn vào vị trí có thẻ này và dùng cùng các biến. Nếu thẻ giá đọc {{ product.price }}, nó vẫn hoạt động bên trong {% for product in products %}. Khi mục đó có tên khác, with truyền tên mà phần này cần:

{% include "shop/price_tag.html" with product=deal %}

{% extends %} dùng chung một khung; {% include %} dùng chung một phần. Chỉ cần sửa phần đó một lần, mọi trang đều được cập nhật.

challenge icon

Thử thách

Dễ

Hiển thị thẻ đồ uống từ drink_card.html trên cả hai trang.

  1. Trong home.html, thay <p>Today's special: ...</p> bằng <p>Today's special:</p>, sau đó thêm thẻ đồ uống cho special.
  2. Trong drinks.html, bên trong mỗi <li class="drink">, thay liên kết và giá bằng thẻ đồ uống. Giữ lại nhãn Sold out.

Nhấn Chạy: trang chủ và /drinks/ hiển thị các thẻ giống nhau.

Tự làm thử

{% 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 %}

Tất cả bài học trong Kiến thức cơ bản về Django

Tự luyện tập: Playground Django