django-form-utilsを使用して、djangoadminと同様のフィールドセットを持つBetterModelFormを生成します。BetterModelFormを使用すると、CSSを「classes」オプションを使用してフィールドセットに関連付けることができます。Django-Adminでできるように、フォームのフィールドセットを折りたたむ方法を知りたいです。
forms.py:
class ezAppOptionFormSet(BetterModelForm):
class Meta:
model = EzApp
fieldsets = [('App options:', {'fields': ['level', 'center_1', 'center_2', 'width', 'height'], 'classes': ['collapse']}),
('Colors:', {'fields': ['color'], 'classes': ['collapse']})
]
template.html:
<form method="post" action="." encrypt="multipart/form-data">{% csrf_token %}
<b>App name: {{ App_title }}</b>
{% if formset.non_field_errors %}{{ formset.non_field_errors }}{% endif %}
{% for fieldset in formset.fieldsets %}
<fieldset class="{{ fieldset.classes }}">
{% if fieldset.legend %}
<legend>{{ fieldset.legend }}</legend>
{% endif %}
{% if fieldset.description %}
<p class="description">{{ fieldset.description }}</p>
{% endif %}
<ul>
{% for field in fieldset %}
{% if field.is_hidden %}
{{ field }}
{% else %}
<li{{ field.row_attrs }}>
{{ field.errors }}
{{ field.label_tag }}<br>
{{ field }}
</li>
{% endif %}
{% endfor %}
</ul>
</fieldset>
{% endfor %}