我正在将列表返回到我的 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>
它输出如图所示的下拉列表 - 我很想在没有括号/引号的情况下显示它 - 非常感谢任何帮助。
最佳答案
看起来每个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/