Django模板每次都返回True
Posted
技术标签:
【中文标题】Django模板每次都返回True【英文标题】:Django templates sting comprasion every time returns True 【发布时间】:2017-08-19 12:36:22 【问题描述】:如果我转到索引或公告页面,我将分别使用“索引”或“公告”页面名称发送到模板 embed_text。它应该将活动类设置为导航栏中的当前链接。 As shown in the picture (movies is my index page)
这是我在 index.html 模板中的代码
% if embed_text.page_name == 'index' %
% block movies_active %active% endblock %
% endif %
% if embed_text.page_name == 'announcements' %
% block announcements_active %active% endblock %
% endif %
而且是base.html模板中的代码延伸到index.html
<li class="% block movies_active %% endblock %"><a href="% url 'movies:index' %"> Movies</a></li>
<li class="% block announcements_active %% endblock %"><a href="% url 'movies:announcements' %"> Announcemets</a></li>
因此,每次两个表达式都返回 True 并将两个链接都设置为活动时,您可以在图片中看到它。我知道,我遗漏了一个小细节。请帮忙解决。
【问题讨论】:
【参考方案1】:block
标签不受if
标签的影响。你可以试试这个。
% block movies_active %% if embed_text.page_name == 'index' %active% endif %% endblock %
% block announcements_active %% if embed_text.page_name == 'announcements' %active% endif %% endblock %
【讨论】:
以上是关于Django模板每次都返回True的主要内容,如果未能解决你的问题,请参考以下文章
django forms is_valid() 方法总是返回 true 如果所有表单字段的要求都是 false