Context
Я пытаюсь заполнить bootstrap 4 аккордеона динамически созданными django формами.
Описание
Начиная с приведенного примера здесь , я пытаюсь построить компонент аккордеона из formset , состоящего из неопределенного количества форм (они создаются динамически).
Я хочу, чтобы все карты аккордеона были свернуты, кроме первой на начальном этапе.
Мне нужна одна карточка на форму.
То, что у меня сейчас есть
У меня сейчас есть что-то вроде этого:
<div id="accordion">
{% for form in formset %}
<div class="card">
<div id="heading_{{ forloop.counter }}" class="card-header">
<h5 class="mb-0">
<button class="btn btn-link" data-toggle="collapse"
data-target="#collapse_{{ forloop.counter }}"
aria-expanded="{% if forloop.counter == 1 %}
{{ true }}
{% else %}
{{ false }}
{% endif %}"
aria-controls="collapse_{{ forloop.counter }}">
Form id is: {{ forloop.counter }}
</button>
</h5>
</div>
<div id="collapse_{{ forloop.counter }}" class="collapse"
aria-labelledby="heading_{{ forloop.counter }}"
data-parent="#accordion">
<div class="card-body">
{{ form.media }} # the actual content of the form
{% bootstrap_form form layout='horizontal' %}
</div>
</div>
</div>
<hr>
{% endfor %}
</div>
Но это глючит Мои формы отображаются в виде свернутых карточек, и когда я открываю одну из них, нажимая на нее, она немедленно закрывается.
Я также проверил с картой <div id="collapse_{{ forloop.counter }}" class="collapse show"
после прочтения это , но это делает все карты открытыми одновременно, а здесь все наоборот; когда я закрываю один, он сразу же открывается снова.
Я также пытался изменить для обоих предыдущих случаев, aria-expanded="false"
на aria-expanded="true"
в заголовке, но это не меняет поведение ни в одном из двух случаи.
Я также пытался удалить data-parent=#accordion
из карты div, как объяснено здесь , но безуспешно.
Изменить 2020-04-07 :
Вместо установки атрибута:
aria-expanded="true"
Я установил его так:
aria-expanded="{% if forloop.counter == 1 %}
{{ true }}
{% else %}
{{ false }}
{% endif %}"
Но это не меняет общего поведения.
Информация
Версия Boostrap: 4.1.1/css/bootstrap.min.css
И Django версия: 2.2.6
.