我实际上是想弄清楚如何在HTML页面的字段上建立条件。我有一个表单,如果用户在上面的Choicefield中请求“ Web应用程序”,我想呈现一个字段。 但是我有两个问题。 首先在“ typeOfTheProject”之前呈现“ conditionnalWeb”表单。 其次,我尝试了很多事情,但是对于如何使这种情况无效。 这可能是一个简单的解决方案,但这是我第一次使用django和脆皮形式。
这是表格:
class ConfiguratorForm(forms.Form):
queryOfProject = TypeOfProgram.objects.values_list('name')
queryOfFramework = Framework.objects.values_list('name','version')
queryOfDatabase = Database.objects.values_list('name','version')
listFramework = []
listProject = []
conditionnalWeb=[]
listFramework=[((q[0],q[1]),q[0]+" version "+q[1])for q in queryOfFramework]
listProject=[(q[0],q[0])for q in queryOfProject]
listDatabase = [((q[0],q[1]),q[0]+" version "+q[1])for q in queryOfDatabase]
typeOfTheproject = forms.ChoiceField(choices = listProject)
conditionnalWeb = forms.ChoiceField (choices = [('', '----'),("Only Backend","Only Backend"),("Only Frontend","Only Frontend")])
wantedFramework = forms.MultipleChoiceField(choices = listFramework)
wantedDatabase = forms.MultipleChoiceField(choices = listDatabase)
这是HTML:
{% extends 'forms/base.html' %}
{% load crispy_forms_tags %}
{% block content %}
<form method="post">
{% csrf_token %}
{{form|crispy}}
<button type="submit" class="btn btn-success">Save configuration</button>
</form>
{% endblock %}
</html>
我已经离开了简单的{{form|crispy}}
。我尝试过的所有其他策略都行不通,也不是“漂亮”的代码。
谢谢大家的帮助。