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 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.

challenge icon

Görev

Kolay

drinks.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>
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