Django - Остановить перезагрузку страницы после GET-запроса

Я хотел бы показывать все оценки одного пользователя по нажатию кнопки. Теперь я хочу интегрировать расширяемую кнопку из Bootstrap. GET-запрос работает отлично, но JavaScript для расширяемой кнопки срабатывает при нажатии на кнопку, а затем страница перезагружается. Это означает, что кнопка возвращается в исходное состояние. Возможно, у вас есть способ исправить это?

noten.html

{% if subject_list %}
    <form name="subject-list" method="GET">
        <ul>
            {% for subject in subject_list %}
                <p>
                    <button class="btn btn-primary" type="submit" data-bs-toggle="collapse" data-bs-target="#{{ subject }}" aria-expanded="false" aria-controls="collapseExample" value="{{ subject }}" id="{{ subject }}" name="subject">
                        {{ subject }}
                    </button>
                </p>
                <div class="collapse" id="{{ subject }}">
                    <div class="card card-body">
                        {% if grades %}
                            {% for grade in grades %}
                                <li>{{ grade }}</li>
                            {% endfor %}
                            {% else %}
                                <p>Du hast keine Noten in diesem Fach!</p>
                        {% endif %}
                    </div>
                </div>
            {% endfor %}
        </ul>
    </form>
{% endif %}

views.py

def noten(request):
    if request.user.is_authenticated:  # if user is logged in
        object_list = Subject.objects.order_by('name')
        subject_list = []
        for subject in object_list:
            subject_list.append(subject.name)

        if request.method == 'GET':
            subject = request.GET.get('subject', '')
            if subject != '':
                print(f"GET {subject}")
                grades = Test.get_grades(student=request.user.id, subject=subject, self=Test)
                return render(request, 'noten.html', {'subject_list': subject_list, 'grades': grades})
            else:
                return render(request, 'noten.html', {'subject_list': subject_list})
        else:
            return render(request, 'noten.html', {'subject_list': subject_list})
    else:  # else redirect to login page
        return redirect('loginForm:login')
Вернуться на верх