Menu
CoddyTech

Pewarisan Template

Termasuk bagian Dasar-Dasar Django dalam perjalanan Django di Coddy. Pelajaran 17 dari 23.

home.html dan drinks.html masing-masing mengulang <head> yang sama, dan sebentar lagi juga bilah navigasi. Ubah kerangkanya, lalu kamu harus mengedit setiap file. Sebagai gantinya, satu template menjadi kerangka dan halaman-halaman mengisinya.

Kerangka menandai bagian yang diisi halaman dengan tag {% block %} dan sebuah nama. File library/base.html dari sebuah library:

<body>
    <nav>...</nav>
    <article>{% block body %}{% endblock %}</article>
</body>

Halaman dimulai dengan {% extends %}, lalu mengisi block:

{% extends "library/base.html" %}

{% block body %}
    <p>We are open until 20:00.</p>
{% endblock %}
{% extends %} harus menjadi tag pertama. Di halaman yang mewarisi halaman lain, apa pun yang berada di luar block akan dihapus: judul yang lupa kamu bungkus akan menghilang.
challenge icon

Tantangan

Sedang
  • Di base.html, letakkan block kosong bernama content di dalam <main>.
  • Buat home.html dan drinks.html mewarisi "menu/base.html", dengan HTML masing-masing di dalam block tersebut.

Tekan Run: kedua halaman menampilkan nav dari base.html.

Coba sendiri

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Corner Café</title>
</head>
<body>
    <nav>
        <a href="{% url 'menu:home' %}">Home</a>
        <a href="{% url 'menu:drinks' %}">Drinks</a>
        <a href="{% url 'menu:about' %}">About</a>
    </nav>
    <main>
        <!-- each page's content goes here -->
    </main>
</body>
</html>

Semua pelajaran di Dasar-Dasar Django

Latihan sendiri: Playground Django