Menu
CoddyTech

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 kendi sayfası vardır ve /drinks/ adresindeki liste bu sayfalara bağlantı vermelidir. Bir şablonda {% url %} etiketi, bir görünümdeki reverse() gibi, bir rota adından adres oluşturur:

<a href="{% url 'menu:about' %}">About us</a>
<a href="{% url 'menu:table' 7 %}">Table 7</a>

Ad önce, tırnak içinde ve ad alanıyla birlikte 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çecek artık kendi slug değerini taşıyor.

Yanlış bir ad veya değer, sayfanın NoReverseMatch hatasıyla çökmesine neden olur; böylece bozuk bir bağlantı, bir ziyaretçi tıklayınca değil, sayfayı oluştururken ortaya çıkar.

challenge icon

Görev

Kolay

drinks.html dosyasında her içeceğin adını, kendi sayfasına bağlantı olacak şekilde düzenle: <a href="...">Latte</a>, /drinks/latte/ adresine gider. Adresi {% url %} ve içeceğin slug değeriyle oluştur.

/drinks/ sayfasında Flat White'a tıkla: Flat White sayfası açılır.

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>
quiz iconKendini test et

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

Kendi başına pratik yap: Django playground