Ho un modello base.html che contiene un elenco di collegamenti.Django: C'è un modo migliore per evidenziare il link della pagina corrente
Esempio:
<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>
Poi ho nel mio views.py una definizione per ciascuno dei index.html, stuff.html, about.html e contact.html. Ciascuno di questi modelli deriva semplicemente da un modello base.html e imposta i rispettivi titoli e contenuti.
La mia domanda riguarda quanto sopra/cose ho una classe = "corrente".
Mi piacerebbe che la pagina corrente su cui sono presente abbia quell'attributo di classe.
È possibile impostare una variabile diversa in ogni vista come current_page = "about" e quindi eseguire un confronto nel modello con {% ifequal %}
in ogni elemento di classe di ciascun collegamento, ma sembra un lavoro di duplicazione (a causa della variabile di visualizzazione aggiuntiva).
C'è un modo migliore? Forse se c'è un modo per ottenere il nome della funzione vista che il modello è stato riempito automaticamente non avrei bisogno di impostare la variabile extra? Inoltre sembra un sacco di ifequals.
questo non significa un sacco di contenuti duplicati nel CSS però? –
... Intendo lo stile per ogni id di collegamento. –
È una riga di CSS per ogni pagina/sezione. Lo stile stesso appare solo una volta, con un elenco separato da virgola di coppie di sezioni/nav prima di esso. – RichieHindle