我正在尝试创建一系列下拉按钮,其中下拉按钮由字典键填充,下拉项由与每个键关联的列表填充。
目标是将字典发送到 html 模板,并根据字典内容创建所有按钮。然后,下拉菜单将重定向到所选的任何位置。
下面 HTML 中的循环将在我第一次运行时运行,但之后所有下拉项都设置为字典中的最后一个列表。
Python代码;
from flask import Flask, render_template
app = Flask(__name__)
names = {'Star Wars': ['Luke', 'Han', 'Chewie'], 'Avengers': ['Iron Man', 'Hulk', 'Spiderman']}
@app.route('/', methods=['GET', 'POST'])
def index():
return render_template('indexdrop.html', names=names)
app.run(debug = True)
HTML;
....标题省略...
<div class = "jumbotron">
<div class="btn-group">
{% for idx in names.keys() %}
<button type="button" class="btn btn-danger"> {{ idx }}</button>
<button type="button" class="btn btn-danger dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">{{ idx }}</span>
</button>
<div class="dropdown-menu">
{% for item in names[idx] %}
<a class="dropdown-item" href="#">{{ item }}</a>
{% endfor %}
</div>
{% endfor %}
</div>
</div>
非常感谢任何帮助!
最佳答案
<div class="btn-group">
div 应该是 for 循环的一部分。目前,您只有一个 btn-group
其中有两个 dropdown-menu
里面有 div。
第二个下拉菜单上的切换按钮正在寻找 dropdown-menu
父级内的 div btn-group
(即带有星球大战角色的 div)。
{% for idx in names.keys() %}
<div class="btn-group">
...
...
</div>
{% endfor %}
关于python - Flask 循环未按预期在 Bootstrap 下拉菜单中迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55923343/