Jinja - Est-il intégré dans la variable pour obtenir la page HTML en cours nom?
je suis très nouveau à Jinja et Flacon
Je tiens à mettre en arrière-plan de couleur dans la barre de navigation pour indiquer la page en cours.
Est-il intégré à Jinja variable ou une méthode qui retourne actuelle des pages HTML? Si possible, je veux le code qui n'a pas besoin de communiquer avec le fichier Python.
Donc, si je suis actuellement en index.html
, il sera de retour "index" ou "index.html"
Voici mon code de navigation dans mon template:
<ul>
{% for item in navigation %}
<a href="{{url_for(item.route)}}">
<li>
{{item.text}}
</li>
</a>
{% endfor %}
</ul>
Je veux ajouter if
déclaration pour la page en cours obtiendrez <li>
qui a class
{% if ??? %}
<li class="current">
...
</li>
{% else %}
...
{% endif %}
Merci
- Double Possible de stackoverflow.com/q/11157631/388916
Vous devez vous connecter pour publier un commentaire.
Il y a un truc dans jinja2 document pour votre problème: http://jinja.pocoo.org/docs/tricks/
Si votre liste est assez simple, en utilisant seulement un objet de requête, quelque chose comme ça:
Normalement, j'écris cet extrait de code d'une macro avec un argument explicite pour définir
active
:La liste sera quelque chose comme:
Donc, si vous avez un enfant de page qui s'étend ou comprend votre liste, vous pouvez définir élément actif comme:
dans le haut de votre page enfant.
Dans la pyramide de 1,5 il n'existe pas de méthode comme demande.point de terminaison dans le Flacon.
Nous utilisons filtre personnalisé get_endpoint
jinja2_custom_filters.py:
et en développement.ini:
Il sera peut-être utile à quelqu'un 🙂