Django crispy表单可以与自定义小部件一起使用吗?

时间:2013-09-05 06:57:40

标签: django forms django-crispy-forms

按照这篇文章中的代码,我能够根据另一个字段对ModelMultipleChoiceField中的选项进行分组。正如本文所述,我使用了一个自定义小部件(字面意思是帖子中的小部件):

Grouping CheckboxSelectMultiple Options in Django

所以现在表单正在呈现我喜欢的方式,但我希望通过使用crispy表单来改进格式化。但是,当我添加{%load crispy_forms_tags%}和{{form | crispy}}时,它呈现的形式没有我努力实现的分组......

有没有人知道如何将脆弱的表单应用到带有自定义小部件的表单并保留小部件的功能?

谢谢!

1 个答案:

答案 0 :(得分:6)

不,这是不可能的,因为crispy表单永远不会调用小部件的render方法。

另一种方法是覆盖窗口小部件的模板,在本例中为bootstrap/layout/checkboxselectmultiple.html,以根据需要使用分组。

https://github.com/maraujop/django-crispy-forms/blob/dev/crispy_forms/templates/bootstrap/layout/checkboxselectmultiple.html