代码之家  ›  专栏  ›  技术社区  ›  BrettJ

jinja2-显示不带括号/引号的项目

  •  2
  • BrettJ  · 技术社区  · 7 年前

    我正在将一个列表返回到我的Flask视图,但我想显示它,不带括号或单引号。

    我的HTML仅围绕引导下拉菜单进行格式化

    <div class="dropdown">
        <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          Park Names
        </button>
        <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
          {% for park in parks_found %}
          <a class="dropdown-item" href="#">{{ park }}</a>
          {% endfor %}
        </div>
      </div>
    

    输出下拉列表,如图所示-我希望显示时不带括号/引号- 非常感谢您的帮助。

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  2
  •   Community Mohan Dere    5 年前

    看起来像每个 park 项是一个项的列表,而不是字符串。换句话说, parks_found 包含列表列表,而不是作为字符串的公园名称列表。

    解决方案

    你可以确保 找到parks\u 是传递前的字符串列表,也可以从中获取第一项。或者,如果可能的话 找到parks\u 实际上包含一个列表,您可以为每个 公园 项目

    看法

    def view():
        return render_template('index.html',
                               parks_found=[['Park A'], ['Park B']],
                               flat_parks_found=['Park A', 'Park B'])
    

    Html

    <h1>Original</h1>
    {% for park in parks_found %}
    <p>{{ park }}</p>
    {% endfor %}
    
    <h1>Grab first item</h1>
    {% for park in parks_found %}
    <p>{{ park[0] }}</p>
    {% endfor %}
    
    <h1>Flattaned list</h1>
    {% for park in flat_parks_found %}
    <p>{{ park }}</p>
    {% endfor %}
    

    HTML输出


    起初的

    ['Park A']

    [“公园B”]

    抓取第一个项目

    驻车A

    停车场B

    扁平化列表

    驻车A

    停车场B