Jinja2 - 在classname中没有正确读取空格的字符串变量

Kei*_*ong 1 jinja2 flask

我有一个问题,Jinja2没有'fa fa-tachometer'正确地将字符串渲染到类名.

Jinja2呈现如下字符串:

<i class={{ icon }}></i>

<i class="fa" fa-tachometer></i>,

如下图所示.我已经完成了空间文字,但它并没有解决我的问题.

{% 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 %}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

希望能解决这个问题.谢谢!

dir*_*irn 5

这对Jinja来说不是问题; 这是你的HTML的问题.你告诉Jinja输出

<i class=fa fa-tachometer></i>
Run Code Online (Sandbox Code Playgroud)

(您正在使用的DOM检查器是添加引号,而不是Jinja.如果您查看源HTML,则它们不在那里.)

你需要在给定的值周围加上引号 class

<i class="{{ icon }}"></i>
Run Code Online (Sandbox Code Playgroud)


Sur*_*lwe 5

这是我的评论建议.你只想在上面添加双引号{{ icon }}.

<i class="{{ icon }}"></i>
Run Code Online (Sandbox Code Playgroud)