Несколько элементов коллапса, вызывающих одну функцию представления django, каждый из которых должен представлять свое значение

У меня есть несколько элементов коллапса. все элементы должны вызывать одну и ту же функцию django, но при этом передавать разные значения каждый.

enter image description here

Я хочу добиться этого без использования выпадающего меню 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>

Надеюсь, это решит ваш вопрос

Вернуться на верх