Un titolo per ogni pagina
Fa parte della sezione Fondamenti di Django del percorso Django di Coddy. Lezione 18 di 23.
Poiché /drinks/ estende base.html, il suo titolo è Corner Café, come nella pagina iniziale. Un blocco può risolvere il problema, perché può contenere contenuti predefiniti. Una pagina che riempie il blocco sostituisce il contenuto predefinito; una pagina che lo ignora lo mantiene.
<h1>{% block heading %}City Library{% endblock %}</h1>
<article>{% block body %}{% endblock %}</article>Un modello può avere tutti i blocchi di cui ha bisogno, ciascuno con un nome proprio. Questa pagina li riempie entrambi:
{% extends "library/base.html" %}
{% block heading %}Opening Times{% endblock %}
{% block body %}<p>Until 20:00.</p>{% endblock %}Una pagina che riempie solo body mantiene il titolo City Library.
Sfida
FacileAssegna a ogni pagina il proprio titolo.
- In
base.html, trasforma il testo del titolo in un blocco chiamatotitle, conCorner Cafécome valore predefinito. - In
drinks.html, assegna a/drinks/il titoloOur Drinks | Corner Café. La home page mantiene il titolo predefinito.
Apri /drinks/: la barra del titolo mostra Our Drinks | Corner Café.
Provalo tu
<!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>
{% block content %}{% endblock %}
</main>
</body>
</html>
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti di Django
4Layout e file statici
Ereditarietà dei templateUn titolo per ogni paginaEsercitati da solo: Playground Django