Site Gezintisi
Coddy'nin Django Journey'sinin Django Temelleri bölümünün bir parçası. Ders 23 / 23.
Sitenin artık ortak düzene sahip beş sayfası var (About sayfası da bir şablona kavuştu), ancak base.html içindeki gezinme menüsü üç sayfayı listeliyor ve hangi sayfada olduğunuzu hiçbir zaman göstermiyor.
Her şablon, yanıtlanan istek olan request'i okuyabilir; çünkü settings.py, TEMPLATES içinde request bağlam işlemcisini listeliyor. request.resolver_match, eşleşen rotayı açıklar: url_name, adının ad alanı olmadan hâlidir ("contact"); view_name ise tam adıdır ("menu:contact"). Bir şablon, yalnızca tek bir sayfada bir satır gösterebilir:
{% if request.resolver_match.url_name == "contact" %}
<p>We reply within a day.</p>
{% endif %}Görev
Ortabase.html dosyasında, nav bağlantılarını Home, Menu, Drinks, Hours ve About sırasıyla oluştur; her birinin adresini {% url %} ile belirle. Her sayfada yalnızca o sayfanın bağlantısına class="active" verilir.
style.css dosyasında nav a.active için kalın metin gibi bir stil tanımla, ardından Run düğmesine bas ve nav bağlantılarına tıkla.
Kendin dene
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>{% block title %}Corner Café{% endblock %}</title>
<link rel="stylesheet" href="{% static 'menu/style.css' %}">
</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>
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