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

标签 flask jinja2

我正在将列表返回到我的 Flask View ,但我想在没有括号或单引号的情况下显示它。

我的 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

最佳答案

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

解决方案

您可以在传递之前确保 parks_found 是一个字符串列表,也可以从中获取第一项。或者,如果 parks_found 中的每个项目实际上都包含一个列表,则可以为每个 park 项目添加另一个循环。

查看

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 输出


原始

[“A 公园”]

['公园B']

获取第一个项目

公园A

公园B

扁平化列表

公园A

公园B


关于flask - jinja2 - 显示不带括号/引号的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48600628/

相关文章:

python - 重新安装计算机后 Flask 不再提供静态文件

url-routing - 主机和前缀支持多语言的 Python flask Web 应用程序

python - 如何防止单个用户多次投票

python - 如何使用 flask SQLAlchemy 将文件保存在数据库和目录中?

javascript - 如何使用 AJAX 将用户点击的元素的 id 传递回 Flask

validation - WTForms 自定义验证器 - RadioField 上的RequiredIf

python - 在 GAE 1.6.0 中添加自定义 Jinja2 过滤器

python - 在 Jinja2 中使用变量名称作为 block 名称?

python - 如何在 jinja2 中全局定义一个计数器,以便它记住它的最后一个值

python - 如何使用 Flask 将字典内容显示到网页中