首页 > 解决方案 > Django - 如何将项目添加到 Bootstrap 下拉列表?

问题描述

对于某些背景,我使用 Django 和 Bootstrap 来构建一个待办事项列表作为一个辅助项目。我遇到的问题是我无法将项目添加到下拉列表中。我想要一个下拉列表来列出人名,但是当我尝试将它们添加到下拉列表时,它们不会出现。

这是我的看法。如您所见,我正在传递一个名称列表作为示例。

def index(request):

form = TodoForm()
people = ['person1', 'person2', 'person3']

if request.user.is_authenticated is False:
    return render(request, 'main/index.html', {'todo_list': [], 'form': form})

user = User.objects.get(pk=request.user.id)
todo_list = user.todo_set.all().order_by('id')
return render(request, 'main/index.html', {'todo_list': todo_list, 'form': form, 'people': people})

这是我从 Bootstrap 获得的下拉列表:

            <div class="dropdown">
            <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Remind others
            </button>
            <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                {% for person in people %}
                    <a class="dropdwon-item" href="#">{{ person }}</a>
                {% endfor %}
            </div>
        </div>

当我运行此代码时,我确实看到了下拉按钮,但是当我单击时,它会下拉但不显示任何名称。这只是一个空白的下拉菜单。

我知道下拉列表有效,因为当我运行下面的代码时,它可以完美运行。

            <div class="dropdown">
            <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Remind others
            </button>
            <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                <a class="dropdown-item" href="#"></a>
                <a class="dropdown-item" href="#">Another action</a>
                <a class="dropdown-item" href="#">Something else here</a>
            </div>
        </div>

任何帮助表示赞赏,谢谢。

标签: pythondjangobootstrap-4

解决方案


你的代码看起来不错。但是 if request.user.is_authenticated is False: 会阻止people传递到您的 html 页面。请记住进行身份验证以查看完整的下拉菜单:)


推荐阅读