python - 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>
任何帮助表示赞赏,谢谢。
解决方案
你的代码看起来不错。但是
if request.user.is_authenticated is False:
会阻止people
传递到您的 html 页面。请记住进行身份验证以查看完整的下拉菜单:)
推荐阅读
- android - 模态底页不透明,但背景设置太透明
- size - 如何检查结构块大小(以字节为单位)
- vue.js - 仅在有内容时才显示插槽,当插槽没有名称时?
- excel - 用于多列条件和的excel可扩展公式
- pyspark - PySpark - Spark SQL:如何将带有 UTC 偏移量的时间戳转换为纪元/unixtime?
- c# - 通过 WebApi 返回 JSON
- abap - 将原始字符串(字节字符串)转换为可读字符串
- opengl-es - 这个 WebGL 程序中的顶点着色器和片段着色器之间的插值何时发生?
- c - 用最大输入填充 C 中的 argv[1]
- oracle - ORACLE 报告 - 框架打印在另一个框架的中间,不遵守布局编辑器上的顺序