我使用django-form-utils生成带有类似于 django admin 的字段集的 BetterModelForm。使用 BetterModelForm 可以将 CSS 与带有 'classes' 选项的字段集相关联。我想知道如何像在 Django-Admin 中那样折叠表单的字段集。
表格.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']})
]
模板.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 %}