Несколько элементов коллапса, вызывающих одну функцию представления django, каждый из которых должен представлять свое значение
У меня есть несколько элементов коллапса. все элементы должны вызывать одну и ту же функцию django, но при этом передавать разные значения каждый.
Я хочу добиться этого без использования выпадающего меню django forms.
какие изменения я должен внести в текущий HTML код:
HTML:
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Filter Options:</h6>
<a class="collapse-item" value='1' href={% url 'show_dashboard' %}>Option1</a>
<a class="collapse-item" value='2' href={% url 'show_dashboard' %}>Option2</a>
<a class="collapse-item" value='3' href={% url 'show_dashboard' %}>Option3</a>
<a class="collapse-item" value='4' href={% url 'show_dashboard' %}>Option4</a>
<a class="collapse-item" value='5' href={% url 'show_dashboard' %}>Option5</a>
<a class="collapse-item" value='6' href={% url 'show_dashboard' %}>Option6</a>
<a class="collapse-item" value='7' href={% url 'show_dashboard' %}>Option7</a>
</div>
</div>
Добавьте вашу форму в самой внешней части, чтобы она не мешала CSS & также закройте тег формы
<form name="modality" action="" id='modality' method="post" enctype="multipart/form-data">
{% csrf_token %}
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Filter Options:</h6>
<input class="collapse-item" name ='modality' type="submit" value="Option1" onclick="this.form.submit()">
<input class="collapse-item" name ='modality' type="submit" value="Option2" onclick="this.form.submit()">
<input class="collapse-item" name ='modality' type="submit" value="Option3" onclick="this.form.submit()">
<input class="collapse-item" name ='modality' type="submit" value="Option4" onclick="this.form.submit()">
<input class="collapse-item" name ='modality' type="submit" value="Option5" onclick="this.form.submit()">
<input class="collapse-item" name ='modality' type="submit" value="Option6" onclick="this.form.submit()">
<input class="collapse-item" name ='modality' type="submit" value="Option7" onclick="this.form.submit()">
</div>
</div>
</form>
А в бэкенде, поскольку вы указали разные значения для каждой кнопки отправки, вы можете проверить с помощью if-else
if request.POST["modality"] == "Options1":
<option 1 code here>
elif request.POST["modality"] == "Options2":
<option 1 code here>
..
..
..
..
elif request.POST["modality"] == "Options7":
<option 1 code here>
Надеюсь, это решит ваш вопрос
