Javascript 我应该如何在Django表单中实现条件逻辑?
我试图在Django模型表单中添加一些条件逻辑,这比我预期的要困难得多。我想做的是:如果用户选择选项a,我想再显示一个问题,如果他们选择选项B,我想显示另一个问题 我发现——这正是我想要的,它说从创建具有可选值(即非必需)的字段开始,然后根据逻辑使用Javascript隐藏字段。但这并不能解释怎么做 我想我可以理解JS位,但我想了解的是如何以及在哪里添加它。我假设在forms.py中,在一个小部件attrs中?Javascript 我应该如何在Django表单中实现条件逻辑?,javascript,jquery,python,django,Javascript,Jquery,Python,Django,我试图在Django模型表单中添加一些条件逻辑,这比我预期的要困难得多。我想做的是:如果用户选择选项a,我想再显示一个问题,如果他们选择选项B,我想显示另一个问题 我发现——这正是我想要的,它说从创建具有可选值(即非必需)的字段开始,然后根据逻辑使用Javascript隐藏字段。但这并不能解释怎么做 我想我可以理解JS位,但我想了解的是如何以及在哪里添加它。我假设在forms.py中,在一个小部件attrs中? 如果可能的话,我想要一个实现示例。提前多谢 正如您已经提到的,最简单的方法是创建一个
如果可能的话,我想要一个实现示例。提前多谢 正如您已经提到的,最简单的方法是创建一个包含所有字段(必需和可选)的表单,并使其中一些字段在您希望它们出现之前不可见(例如,通过选择其他字段中的某个选项)。 为此,您应该:
Class MyForm(forms.Form):
#fields go here
def myview(request):
form = MyForm()
c = {'form': form}
return render(request, 'mytemplate.html', c)
<form action="/your-name/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
def myview(request):
form = MyForm()
c = {'form': form}
return render(request, 'mytemplate.html', c)
<form action="/your-name/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
当然,还有其他方法可以创建动态表单。您可以查看一下。html页面模板中有Javascript。谢谢,chem1st。我已经完成了步骤1、2和3。如何为字段提供id?如果是一个有两个选择的CharField,比如说“是”和“否”,我如何设置逻辑“如果答案是“是”,那么就这样做”?Django表单已经有内置ID-。问题是我没有意识到Django表单有内置ID,而我一直在想如何让js工作!再次感谢!