【问题标题】:Conditional Logic in django formsdjango 形式的条件逻辑
【发布时间】:2015-10-03 18:46:33
【问题描述】:

我正在尝试构建一个条件表单,其中选择一个选项将导致新字段出现在下方,而选择另一个选项将显示其他内容。

Formstack 有一个很好的例子https://www.formstack.com/features/conditional-logic

我找不到任何预先存在的具有此功能的 django 表单包。我应该如何开始实施?

【问题讨论】:

  • 将字段设为可选,然后使用javascript根据引用字段的更改事件呈现您的字段。
  • 我可以使用 django 的后端来管理这些字段吗?
  • 是的,当然。只需确保字段名称正确即可。

标签: python django forms conditional branch


【解决方案1】:

Django 表单(特别是如果您使用ModelForm 库)是您的Django 应用程序Model 的直接反映。因此,您应该首先重构您的 Django 应用程序 Model,使其具有具有可选值的字段(即它们可以是 NULLempty 或已经创建了 default 值)。

这些将是根据您的条件显示/隐藏的表单字段,它们可能有也可能没有值(如果它们基于条件隐藏,则不可能向它们提供值,因此 @ 987654330@ 字段必须能够接受NULL 值或使用默认值)。

然后,您将使用 Javascript (JS) 等客户端语言来处理用户与 Django 应用程序的迭代。像jQuery 这样的简单易用的 JS 框架值得您研究一下。

除了特殊的Django docs on Forms,我还强烈建议你看看PyDanny 所写的Django Crispy Forms,看看应该如何正确处理Django 表单。

【讨论】:

    猜你喜欢
    • 2020-06-16
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多