使用 jinja 标签在 html 标签内使用 if 条件

Posted

技术标签:

【中文标题】使用 jinja 标签在 html 标签内使用 if 条件【英文标题】:use if condition inside html tag using jinja tag 【发布时间】:2019-11-19 03:35:00 【问题描述】:

我为我的网站项目做了一个标题,它有一些部分...... 我想使用 jinja 更改标题上的部分颜色名称,但我不能 模板已无错误地呈现,但部分名称未更改 并且在 pycharm 中显示此消息:标签开始未关闭

<ul class='menu'>
    <li % if section == "dashboard" %class="selected"% endif %>
      <a href="% url 'dashboard' %">My dashboard</a>
    </li>
    <li % if section == "images" %class="selected"% endif %>
      <a href="#">Images</a>
    </li>
    <li % if section == "people" %class="selected"% endif %>
      <a href="#">People</a>
    </li>
</ul>

【问题讨论】:

你能在你的视图中显示print((section, type(section))) 显示的内容吗?或许section不是字符串,或者是不同值的字符串? 【参考方案1】:

试试这个

% if section == "dashboard" %
<li class="selected">
% else %
<li>
% endif %

【讨论】:

【参考方案2】:
<ul class='menu'>
    <li class="selected">
        % if section == "dashboard" %
          <a href="% url 'dashboard' %">My dashboard</a>
        % elif section == "images" %
          <a href="#">Images</a>
        % elif section == "people" %
          <a href="#">People</a>
        % endif %
     </li>
 </ul>

【讨论】:

以上是关于使用 jinja 标签在 html 标签内使用 if 条件的主要内容,如果未能解决你的问题,请参考以下文章

Jinja2 模板使用 Django 模板标签

Jinja 模板的 % spaceless % 标签?

遇到未知标签'with'

跳过解析 CODE 标签内的 BBCode

使用 Google App Engine 和 Jinja2 允许 <br> 标签

使用 Google App Engine 和 Jinja2 允许 <br> 标签