Sayfalar Arası Bağlantılar
Coddy'nin Django Journey'sinin Django Temelleri bölümünün bir parçası. Ders 16 / 23.
Her içeceğin /drinks/<slug>/ adresinde bir sayfası vardır ve /drinks/ adresindeki liste bu sayfalara bağlantı vermelidir. Bir şablonda {% url %} etiketi, bir görünümdeki reverse() gibi, bir rotanın adından adres oluşturur:
<a href="{% url 'menu:about' %}">About us</a>
<a href="{% url 'menu:table' 7 %}">Table 7</a>Önce ad, ad alanıyla birlikte tırnak içinde gelir. Dönüştürücü değerleri boşluklarla ayrılarak ardından gelir ve bunlar değişken olabilir: bir döngüde {% url 'menu:table' table.number %} her masanın adresini oluşturur. DRINKS içindeki her içeceğin artık kendine ait bir slug değeri vardır.
Yanlış bir ad veya değer, sayfanın NoReverseMatch hatasıyla çökmesine neden olur. Böylece bozuk bir bağlantı, bir ziyaretçi tıkladığında değil, sayfayı oluştururken ortaya çıkar.
Görev
Kolaydrinks.html dosyasında her içeceğin adını kendi sayfasına giden bir bağlantı yap: <a href="...">Latte</a>, /drinks/latte/ adresine gider. Adresi {% url %} ve içeceğin slug değeriyle oluştur.
Çalıştır'a bas ve /drinks/ sayfasındaki Flat White'a tıkla.
Kendin dene
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Our Drinks</title>
</head>
<body>
<h1>Our Drinks</h1>
<p class="count">{{ drinks|length }} drink{{ drinks|pluralize }}</p>
<ul>
{% for drink in drinks %}
<li class="drink">
{{ drink.name }}
<span class="price">${{ drink.price|floatformat:2 }}</span>
{% if drink.sold_out %}
<span class="sold-out">Sold out</span>
{% endif %}
</li>
{% empty %}
<li>No drinks today.</li>
{% endfor %}
</ul>
</body>
</html>
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Django Temelleri bölümündeki tüm dersler
3Şablonlar
İlk ŞablonunuzŞablon DeğişkenleriKendi başına pratik yap: Django playground