有条件的脆皮形式

时间:2020-02-23 23:56:10

标签: html django django-crispy-forms

我实际上是想弄清楚如何在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}}。我尝试过的所有其他策略都行不通,也不是“漂亮”的代码。

谢谢大家的帮助。

0 个答案:

没有答案