将Django Crispy Forms与Django Betterforms结合使用

时间:2019-03-21 20:01:54

标签: django django-crispy-forms

我目前正在尝试使用酥脆形式和更好的形式来创建一个很大的形式。我尝试通过其helper属性将布局设置为完整的表单,但是什么也没有发生。如果我通过一个荒谬的布局,也不会发生任何事情。如果我在每个包含的表单中添加帮助程序和布局,然后分别渲染它们,则它就像一个魅力。但是我不想将布局声明分成多个部分。

也许,让它更清晰一点:

我所拥有的:

class RegattaMultiForm(MultiModelForm):
form_classes = {
    'regatta': RegattaForm,
    'organiser': BaseInstitutionCreateForm,
    'organiser_address': BaseAddressForm,
    'organiser_contact': ContactForm,
    'host': BaseInstitutionCreateForm,
    'host_address': BaseAddressForm,
    'host_contact': ContactForm,
    'coordinator': BaseInstitutionCreateForm,
    'coordinator_address': BaseAddressForm,
    'coordinator_contact': ContactForm,
}
helper = FormHelper()
helper.layout = Layout(Div("regatta-event_date"))

我期望的结果 作为要渲染的单个字段“ event_date”,或者根本不显示,因为我不确定如何选择特定字段(我不知道名称...)

我能得到的 (Just for demonstration purpose, you see, all fields are rendered)

**我目前的解决方式**

{% for thing, value in form.forms.items %}
    {% crispy value %}
{% endfor %}

但这意味着我必须拆分布局定义,这是我要避免的事情... 有人有个主意吗?

0 个答案:

没有答案