Nil*_*ils 3 python forms django conditional branch
我正在尝试构建一个条件表单,其中选择一个选项将导致下面出现一个新字段,而选择另一个选项将显示其他内容。
Formstack 有一个很好的例子https://www.formstack.com/features/conditional-logic
我找不到任何具有此功能的 django 预先存在的表单包。我应该如何开始实施这个?
Django 表单(特别是如果您使用该ModelForm库)是您的 Django 应用程序的直接反映Model。因此,您应该首先重构您的 Django 应用程序,Model使其具有具有可选值的字段(即它们可以是NULL,empty或者default已经创建了一个值)。
这些将是根据您的条件显示/隐藏的表单字段,它们可能有也可能没有值(如果它们基于条件隐藏,则不可能向它们提供值,因此Model字段必须能够接受NULL值或使用默认值)。
然后,您将使用诸如 Javascript (JS) 之类的客户端语言来处理用户与 Django 应用程序的交互。一个简单易用的 JS 框架(如jQuery)值得研究以满足您的需求。
除了有关 Forms的出色Django 文档外,我还强烈建议您查看PyDanny 撰写的Django Crispy Forms,以了解如何正确处理 Django 表单。