agc*_*nti 17 python django django-templates
考虑这个基本菜单:
<ul class="nav navbar-nav">
<li class="active"><a href="{% url 'home' %}">Home</a></li>
<li><a href="{% url 'about' %}">About</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我试图给当前页面的链接一个活动的类,我想基于当前的url和视图的url动态地执行此操作.因此,当用户访问about页面时,该页面现在具有活动类,而主页不具有.
我想逻辑在<li></li>标签内部这样工作:
{% if request.get_full_path = "{% url 'home' %}" %}class="active"{% endif %}
{% if request.get_full_path = "{% url 'about' %}" %}class="active"{% endif %}
Run Code Online (Sandbox Code Playgroud)
但显然我不能{% ... %}互相嵌套两个.
关于如何绕过这两个的任何想法?
Ala*_*air 35
我通常在导航中使用模板继承,与alecxe链接的答案类似.但是,可以比较使用if标记中的当前URL,就像您尝试的那样.
该url标签允许您将结果保存到一个变量.然后,您可以在if标记中使用该变量.
{% url 'home' as home_url %}
{% if request.get_full_path == home_url %}class="active"{% endif %}
Run Code Online (Sandbox Code Playgroud)
很旧的线程!我的回答可能会对未来的读者有所帮助。我这样做了(只需将请求 URL 名称与您的路径名进行比较)
<a class="nav-link {% if request.resolver_match.url_name == 'index' %}active{% endif %}" href="#">Home</a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14518 次 |
| 最近记录: |