私は、すべてのページの上にヘッダーを持つdjangoを使用してWebサイトを構築しています。これは基本的に、ページ全体で一定のいくつかのリンクを持つメニューです。
ただし、表示しているページによっては、「アクティブ」クラスを追加して、メニューの対応するリンクを強調表示したいと思います。そうするために、私は現在次のようにしています。各ページには、メニューを含まない一般的なレイアウト内に統合された完全なメニュー ブロックがあります。たとえば、page2 は次のようになります。
{% extends "layout.html" %}
{% block menu %}
<li><a href="{% url 'myapp:index' %}">Home</a></li>
<li><a href="{% url 'myapp:page1' %}">page1</a></li>
<li class="active"><a href="{% url 'myapp:page2' %}">page2</a></li>
<li><a href="{% url 'myapp:page3' %}">page3</a></li>
{% endblock %}
問題は、そのソリューションがあまりきれいではないことに加えて、ヘッダー メニューにリンクを追加するたびに、すべてのページを変更する必要があることです。これは最適とはほど遠いので、より良い方法について知っている人がいるかどうか疑問に思っていました.
前もって感謝します!