Django中复杂的窗体小部件

时间:2010-04-22 09:51:42

标签: jquery python django forms

我正在寻找好的帮助程序库来在Django中生成一个相当复杂的表单。

  • 动态字段依赖关系:假设选择了选项a某些字段是显示/隐藏的,并且这些字段的子集是必需的,具体取决于选项的选择。

  • 添加更多:点击“添加更多”按钮,克隆一些小部件。

这是ToscaWidgets能够处理的东西。

目前我使用一些jquery代码来管理它,但并不完全满意。遗憾的是,出于某种原因无法使用ToscaWidgets。

TIA

2 个答案:

答案 0 :(得分:2)

我使用了大量定制的Formset来制作一个具有复杂用户权限依赖关系的相当复杂的表单。这涉及对django.forms.formsets.BaseFormSet进行子类化,覆盖__init__add_fieldsis_validsave,当然还有使用自定义Form。最终产品有点毛茸茸,但我仍然能够在6个月左右后理解并修改它。

我没有使用Formset功能来添加和减去子表单,但这应该可以满足您的需求。

文档:http://docs.djangoproject.com/en/1.1/topics/forms/formsets/

答案 1 :(得分:1)

在搜索了一下后,我发现了一个解决方案。 django-dynamic-formset基于django formsets解决了目的。令人印象深刻的工作

PS:稍后会尝试添加一些截图。