【问题标题】:Populate dropdown menu dynamically with flask使用烧瓶动态填充下拉菜单
【发布时间】:2020-12-19 01:01:04
【问题描述】:

谁能告诉我为什么这不起作用?

        <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 正在正确导入,因为我可以循环并打印它们。只有当我尝试使用循环创建下拉项目时,它才不起作用。我得到一个空列表。

谢谢

【问题讨论】:

  • 恐怕您需要更具体一些。 “不起作用”是什么意思 - 你有一个空列表吗?你的视图函数在哪里?
  • @roganjosh 是的,空列表。

标签: python flask bootstrap-4 jinja2


【解决方案1】:

我认为这不是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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2016-08-15
    • 2011-08-17
    相关资源
    最近更新 更多