【发布时间】:2019-11-22 14:08:38
【问题描述】:
我正在尝试为 Django 数据库中的项目列表创建一个 Bootstrap 手风琴。渲染时,目前我的代码只会在 for 循环中的第一项上折叠和展开。对于其他项目,当我单击这些项目时,第一个项目会展开/折叠,而不是被单击的项目。请寻找解决方案。
<div class="panel-group">
<div class="panel panel-default">
{% for issue in issues %}
<div class="panel-heading">
<div class="panel-title">
<a data-toggle="collapse" data-target="#collapse1"><h3><i class="fas fa-chevron-down"></i> {{ issue.title }}</h3></a>
</div>
</div>
<div id="collapse1" class="panel-collapse collapse">
<p><strong>Type: </strong>{{ issue.type }}</p>
<p class="issue-description"><strong>Description: </strong>{{ issue.description }}</p>
<p><strong>Requested By: </strong>{{ issue.requested_by }}</p>
<p><strong>Date Created: </strong>{{ issue.date_created }}</p>
<p><strong>Status: </strong>{{ issue.status }}</p>
<p><strong>Date Completed: </strong>{{ issue.completed_date }}</p>
<p><strong>Upvotes: </strong>{{ issue.upvotes }}</p>
</div>
{% endfor %}
</div>
</div>
【问题讨论】:
-
不是关于 Python 的问题,你应该删除 Python 标签
-
您遍历问题,但所有 div 都具有相同的 id“collapse1”。您应该通过使用问题类型或问题状态或问题的其他一些独特属性来使 div 的 id(以及链接的 data-target="#collapse1")动态化。考虑这个 sn-p:
<div id="collapse-{{issue.id}}" class="...">
标签: python html django twitter-bootstrap-3 jinja2