Это не совсем то, что вы просили, но альтернативный способ сделать это, который я часто предпочитаю, это использовать JavaScript, чтобы либо скрыть, либо изменить цвет ссылок на текущей странице. Например, если вы использовали jQuery:
// Assumes relative paths in a elements
$('a[href="' + window.location.pathname + '"]').each(function (index, element) {
$(element).addClass('someClass');
});
someClass
может быть правилом CSS для установки атрибута «display» для этого элемента на «none» или просто для того, чтобы ссылка выглядела как обычный текст, и ведет себя как обычный текст при наведении курсора мыши или нажатии на него.
Это имеет два возможных преимущества:
- предотвращает слишком запутанный шаблон и его сложность в обслуживании, если вы начинаете произвольно добавлять элементы nav
- у вас есть возможность поддерживать постоянную навигацию между страницами, что, на мой взгляд, является хорошим дизайнерским решением
Это не серебряная пуля, но я думаю, что важно понимать, что иногда эти вещи не обязательно лучше всего делать в шаблонах. Я думаю о своих шаблонах django прежде всего как о способе структурирования данных. В них всегда будет какой-то элемент изложения, но я стараюсь максимально его убрать. Другие не согласятся.