Navegação do site
Parte da seção Fundamentos do Django do Journey de Django da Coddy. Lição 23 de 23.
Agora, o site tem cinco páginas com o layout compartilhado (About também ganhou um template), mas a navegação em base.html lista três, e nunca mostra onde você está.
Todos os templates podem acessar request, a solicitação que está sendo atendida, porque settings.py lista o processador de contexto request em TEMPLATES. request.resolver_match descreve a rota correspondente: url_name é o nome dela sem o namespace ("contact"), e view_name é o nome completo ("menu:contact"). Um quadro pode exibir uma linha em apenas uma página:
{% if request.resolver_match.url_name == "contact" %}
<p>We reply within a day.</p>
{% endif %}Desafio
MédioEm base.html, crie os links de navegação Início, Cardápio, Bebidas, Horários e Sobre, nessa ordem, cada um com o endereço criado usando {% url %}. Em cada página, somente o link para essa página recebe class="active".
Adicione um estilo a nav a.active em style.css, como texto em negrito, depois pressione Executar e navegue pelos links.
Experimente você mesmo
{% 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>
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos do Django
1Seu Primeiro Site com Django
Olá, DjangoUma Segunda Página4Layouts e Arquivos Estáticos
Herança de TemplatesUm Título para Cada PáginaPratique por conta própria: Playground de Django