用烧瓶动态填充下拉菜单

时间:2020-08-30 20:26:01

标签: python flask bootstrap-4 jinja2

谁能告诉我为什么这行不通?

        <div class="dropdown">
            <a class="btn btn-primary dropdown-toggle" href="#" role="button" id="dmenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Select Thing
            </a>
            <div class="dropdown-menu" aria-labelledby="dmenu">
                {% for thing in master.things %}
                    <a class="dropdown-item" href="#">{{ thing.thing_name }}</a>
                {% endfor %}
            </div>
        </div>

masterthings已正确导入,因为我可以循环浏览并打印它们。只有当我尝试使用循环创建下拉项目时,它才无效。我得到一个空名单。

谢谢

1 个答案:

答案 0 :(得分:0)

我认为这不是python问题,它与使用bootstrap有关。

如果您正在使用引导程序,则需要在页面中添加以下javascript代码以启用下拉行为:

<script>
$('.dropdown-toggle').dropdown()
</script>

此外,您还需要包括引导程序依赖性,包括jquerypopperjs

在他们的页面上:Bootstrap documentation

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>