Django模板中的Django不区分大小写字符串比较

Posted

技术标签:

【中文标题】Django模板中的Django不区分大小写字符串比较【英文标题】:Django-case insensitive string comparison in django template 【发布时间】:2018-10-08 23:32:48 【问题描述】:

如何进行不区分大小写的字符串比较?

就我而言,当 topic.title 等于 page.slug 时,我需要添加一个类 menu_active。但是,现在

topic.title=主页 page.slug = 主页

所以我的条件失败了

nav_bar.html

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

【问题讨论】:

Django Model - Case-insensitive Query / Filtering的可能重复 【参考方案1】:

通过内置模板标签lower/upper传递字符串,然后进行比较。

<a class="% if topic.title|lower == page.slug|lower %menu_active% endif %

【讨论】:

以上是关于Django模板中的Django不区分大小写字符串比较的主要内容,如果未能解决你的问题,请参考以下文章

Python之路-(js正则表达式前端页面的模板套用Django基础)

Django 中的唯一模型字段和区分大小写(postgres)

Django 中的唯一模型字段和区分大小写(postgres)

如何区分 Django 模板中的继承模型?

如何实现 Django 不区分大小写的模型字段?

Django中不区分大小写的字段