На самом деле я пытаюсь выяснить, как создать условие для поля на странице HTML. У меня есть форма, в которой я хочу визуализировать поле, если пользователи запрашивают «веб-приложение» в поле выбора выше. Но у меня две проблемы. Сначала форма «conditionnalWeb» отображается перед формой «typeOfTheProject». Во-вторых, я много чего перепробовал, но так и не сработало. Это, вероятно, простое решение, но я впервые работаю с 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}}
. Все остальные стратегии, которые я пробовал, не работали и не были «красивым» кодом.
Спасибо всем за помощь.