Python 如何使用Jinja2解析嵌套字典

Python 如何使用Jinja2解析嵌套字典,python,flask,jinja2,Python,Flask,Jinja2,我正在用python将字典传递给模板 users={ "output": { "title": "Sample Konfabulator Widget" } } return render_template('user.html', **locals()) 但是我不能在响应页面(user.html)解析输出 {%extends“base.html”%} {%block title%}索引{%endblock

我正在用python将字典传递给模板

   users={
        "output": {
                "title": "Sample Konfabulator Widget"
        }
    }

    return render_template('user.html', **locals())
但是我不能在响应页面(user.html)解析输出

{%extends“base.html”%}
{%block title%}索引{%endblock%}
{%block head%}
{{super()}}
.重要{颜色:#336699;}
{%endblock%}
{%block content%}
使用者

    {users%%中的用户为%s}
  • {{user}}.title
  • {%endfor%}

{%endblock%}

但是我没有得到预期的输出
示例Konfabulator小部件
,而我得到了
输出.title
。如何获取
输出的值。title

用户
是一个单元素字典,而不是列表,因此循环实际上没有意义

因为只有一个元素,所以不要循环

<p>{{users['output']['title']}}</p>
那么你可以做一个循环

  {% for key in users %}
      <li>{{key}} : {{users[key]['title']}}</li>
  {% endfor %}
{%用于输入用户%}
  • {{key}}:{{users[key]['title']}
  • {%endfor%}
    用户
    是一个单元素字典,而不是列表,因此循环实际上没有意义

    因为只有一个元素,所以不要循环

    <p>{{users['output']['title']}}</p>
    
    那么你可以做一个循环

      {% for key in users %}
          <li>{{key}} : {{users[key]['title']}}</li>
      {% endfor %}
    
    {%用于输入用户%}
    
  • {{key}}:{{users[key]['title']}
  • {%endfor%}
    你真的是说ninja2而不是jinja2?谢谢你的建议,我更改了标题为什么你用
    locals()
    代替用户?你真的是说ninja2而不是jinja2?谢谢你的建议,我更改了标题为什么你用
    locals()
    代替用户?