Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django形式的条件逻辑_Python_Django_Forms_Conditional_Branch - Fatal编程技术网

Python django形式的条件逻辑

Python django形式的条件逻辑,python,django,forms,conditional,branch,Python,Django,Forms,Conditional,Branch,我正在尝试构建一个条件表单,其中选择一个选项将导致一个新字段出现在下面,而选择另一个选项将显示其他内容 Formstack有一个很好的例子 我找不到任何具有此功能的django预先存在的表单包。我应该如何开始实现它?Django表单(特别是如果您使用ModelForm库)是Django应用程序Model的直接反映。因此,您应该首先重构Django应用程序的模型,使其具有可选值的字段(即它们可以是NULL、空,或者已经创建了默认值) 这些是基于条件显示/隐藏的表单字段,它们可能有值,也可能没有值(

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

Formstack有一个很好的例子

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

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

这些是基于条件显示/隐藏的表单字段,它们可能有值,也可能没有值(如果它们基于条件隐藏,则无法向它们提供值,因此
模型
字段必须能够接受
NULL
值或使用默认值)

然后,您将使用诸如Javascript(JS)之类的客户端语言来处理Django应用程序的用户操作。一个简单易用的JS框架,比如说,对于您的需求来说是值得研究的


除了例外情况,我还强烈建议您查看PyDanny编写的Written,看看Django表单应该如何正确执行。

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