Jinja2 - 带有 space 的字符串变量在类名中读取不正确
Jinja2 - string variable with a space not reading correctly in classname
我遇到了一个问题,Jinja2 没有将字符串 'fa fa-tachometer'
正确地渲染到 class 名称中。
Jinja2 像这样呈现该字符串:
<i class={{ icon }}></i>
进入
<i class="fa" fa-tachometer></i>
,
如下图代码所示。我已经完成 space 文字,但它并没有解决我的问题。
{% set navigation_bar = [
('/dashboard', 'dashboard', 'fa fa-tachometer', 'Dashboard')
] -%}
{% set active_page = active_page|default('dashboard') -%}
{# For each of the sidebar nav items, render an <li> #}
{% for href, id, icon, title in navigation_bar %}
{{ icon }}
<li {% if id == active_page %} class="active" {% endif %}>
<a href="{{ href|e }}">
<i class={{ icon }}></i>
<span class="nav-label">{{ title|e }}</span>
</a>
</li>
{% endfor %}
希望有解决方案。谢谢!
这不是 Jinja 的问题;你的 HTML 有问题。你告诉 Jinja 输出
<i class=fa fa-tachometer></i>
(您使用的 DOM 检查器正在添加引号,而不是 Jinja。如果您查看源代码 HTML,它们不存在。)
您需要在 class
的值周围加上引号
<i class="{{ icon }}"></i>
这是我的评论建议。您只想在 {{ icon }}
上添加双引号。
<i class="{{ icon }}"></i>
我遇到了一个问题,Jinja2 没有将字符串 'fa fa-tachometer'
正确地渲染到 class 名称中。
Jinja2 像这样呈现该字符串:
<i class={{ icon }}></i>
进入
<i class="fa" fa-tachometer></i>
,
如下图代码所示。我已经完成 space 文字,但它并没有解决我的问题。
{% set navigation_bar = [
('/dashboard', 'dashboard', 'fa fa-tachometer', 'Dashboard')
] -%}
{% set active_page = active_page|default('dashboard') -%}
{# For each of the sidebar nav items, render an <li> #}
{% for href, id, icon, title in navigation_bar %}
{{ icon }}
<li {% if id == active_page %} class="active" {% endif %}>
<a href="{{ href|e }}">
<i class={{ icon }}></i>
<span class="nav-label">{{ title|e }}</span>
</a>
</li>
{% endfor %}
希望有解决方案。谢谢!
这不是 Jinja 的问题;你的 HTML 有问题。你告诉 Jinja 输出
<i class=fa fa-tachometer></i>
(您使用的 DOM 检查器正在添加引号,而不是 Jinja。如果您查看源代码 HTML,它们不存在。)
您需要在 class
<i class="{{ icon }}"></i>
这是我的评论建议。您只想在 {{ icon }}
上添加双引号。
<i class="{{ icon }}"></i>