Eu acho bem interessante a possibilidade de exibir no menu o link ativo, relativo à página que está sendo acessada, pois mostra de uma forma visual bem rápida onde o usuário está.
Como estamos usando um partial para o header do site e ele é incorporado em cada uma das páginas, isso precisa ser feito de forma dinâmica. Após algumas tentativas sem sucesso, fiz umas pesquisas e encontrei esse post, que de forma bem simples explica como fazer.
Basicamente precisa verificar se nas configurações do projeto, no nosso caso deste curso no arquivo settings
da pasta alura_receita
(se você seguiu conforme o professor fez nas aulas), verifique se está com a opção django.template.context_processors.request
dentro de TEMPLATES > OPTIONS > context_processors
. Tendo essa configuração, basta acessar a partial com o header e incluir uma atribuição de variável para cada url, para poder verificá-la na hora de definir a classe "active", por exemplo.
Segue abaixo o código que eu usei no meu caso de forma resumida, já implementando também no menu o link de admin quando é um superuser:
{% load static %}
{% url 'index' as url_inicio %}
{% url 'dashboard' as url_dashboard %}
{% url 'cria_receita' as url_cria_receita %}
{% url 'login' as url_login %}
{% url 'cadastro' as url_cadastro %}
...
<!-- Nav Start -->
<div class="classynav">
<ul>
{% if user.is_authenticated %}
<li class="nav-item {% if request.path == url_inicio %}active{% endif %}">
<a href="{% url 'index' %}">Início</a>
</li>
<li class="nav-item {% if request.path == url_dashboard %}active{% endif %}">
<a href="{% url 'dashboard' %}">Minhas receitas</a>
</li>
<li class="nav-item {% if request.path == url_cria_receita %}active{% endif %}">
<a href="{% url 'cria_receita' %}">Criar receita</a>
</li>
{% if user.is_superuser %}
<li>
<a href="{% url 'admin:index' %}" target="_blank">Admin</a>
</li>
{% endif %}
<li>
<a href="{% url 'logout' %}">Logout</a>
</li>
{% else %}
<li class="nav-item {% if request.path == url_cadastro %}active{% endif %}">
<a href="{% url 'cadastro' %}">Cadastro</a>
</li>
<li class="nav-item {% if request.path == url_login %}active{% endif %}">
<a href="{% url 'login' %}">Login</a>
</li>
{% endif %}
</ul>
<!-- Newsletter Form -->
<div class="search-btn">
<i class="fa fa-search" aria-hidden="true"></i>
</div>
</div>
<!-- Nav End -->
...
Fazendo desta forma, quando eu acesso a página inicial, o link referente a ela fica verde (do mesmo jeito que fica quando passa o mouse por cima).