Mam szablon base.html, który zawiera listę łączy.Django: Czy jest lepszy sposób na pogrubienie bieżącego łącza strony
Przykład:
<div id="sidebar1">
<ul>
<li><a href="/" title="">Index</a></li>
<li><a href="/stuff/" title="" class="current">Stuff</a></li>
<li><a href="/about/" title="">About Me</a></li>
<li><a href="/contact/" title="">Contact Me</a></li>
</div>
Następnie mam w views.py definicję każdej z index.html, stuff.html, about.html i contact.html. Każdy z tych szablonów pochodzi po prostu z szablonu base.html i ustawia własne tytuły i treści.
Moje pytanie dotyczy powyższego/rzeczy, które mam class = "current".
Chciałbym, aby bieżąca strona, na której się znajduję, miała ten atrybut klasy.
Mogę ustawić inną zmienną w każdym widoku, np. Current_page = "about", a następnie porównać w szablonie z {% ifequal %}
w każdym elemencie klasy każdego linku, ale to wydaje się duplikowaniem pracy (z powodu dodatkowej zmiennej widoku).
Czy istnieje lepszy sposób? Może, jeśli istnieje sposób na uzyskanie nazwy funkcji widoku, z której szablon został automatycznie wypełniony, nie musiałbym ustawiać dodatkowej zmiennej? Wydaje się również, że jest dużo nierówności.
Nie oznacza to dużo powielonych treści w CSS chociaż? –
... Mam na myśli styl dla każdego identyfikatora linku. –
To jedna linia CSS dla każdej strony/sekcji. Sam styl pojawia się tylko raz, z rozdzieloną przecinkami listą par sekcji/nav przed nią. – RichieHindle