Как сделать набор форм внутри Аккордеона в представлении Django
Я использую хрустящие формы, и у меня есть много наборов форм, которые я отображаю на одной странице. Чтобы сделать страницу более удобной для пользователя, я решил использовать каждый набор форм внутри Аккордеона. Я использовал макет Accordian из cripsy/bootstrap3, но это привело к тому, что каждая форма внутри набора форм будет отображаться в отдельном Аккордеоне. Я хочу, чтобы весь набор форм отображался в одном аккордеоне.
Пожалуйста, дайте мне знать, как этого добиться?
Внутри моего FormHelper:
self.layout = Layout(
AccordionGroup('Profile Key Value Pair',
Div(
Row(
Div( 'key', css_class='col-md-6' ),
Div( 'value', css_class='col-md-4' ),
),
),
)
)
1 ответ
Решение
Хрустящий макет формы будет применять аккордеон к каждой форме в formset. Так как я хочу применить аккордеон на уровне formset. Я внес изменения в файл шаблона и добавил код html / css для обертывания аккордеонов вокруг набора форм.
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#" href="#{{ formset.prefix }}">{{ formset.legend }}</a> </h4> </div>
<div id="{{ formset.prefix }}" class="panel-collapse collapse" >
<div class="panel-body">
{% crispy formset formset.crispy_helper %}
</div>
</div>