You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模板中如何实现不区分大小写的字符串比较?

解决Django模板中大小写不匹配的条件判断问题

这问题太常见啦!就是因为topic.title是小写的home,而page.slug是大写开头的Home,直接用==比较时大小写敏感,才导致判断失败。咱们只需要把两个值统一转换成相同大小写(全小写或全大写)再比较就行,Django模板自带的过滤器就能轻松搞定。

修改后的完整模板代码如下:

nav_bar.html
{% for topic in landing_pages %}
<li role="presentation">
    <a class="{% if topic.title|lower == page.slug|lower %}menu_active{% endif %}" href="/{{topic.slug}}/">{{topic.title}}</a>
</li>
{% endfor %}

关键说明:

  • 用|lower过滤器把topic.title和page.slug都转换成小写,这样不管原内容的大小写格式如何,只要文本内容一致就能匹配成功
  • 如果你更习惯用大写来统一格式,也可以换成|upper过滤器,效果完全相同:{% if topic.title|upper == page.slug|upper %}menu_active{% endif %}

这样修改后,home和Home会被转换成相同的小写(或大写)形式,条件判断就能正常生效,对应的<a>标签也会正确加上menu_active类啦!

内容的提问来源于stack exchange,提问作者priyanka priya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:14:07