Динамические урлы Django перенаправляют на неправильную функцию

Итак, я пытаюсь создать урлы, чтобы пользователь мог видеть жалобы, либо передав определенный параметр, либо отсортировать по умолчанию по upvotes, если параметр не передан.

urls.py

path('', views.exploreComplaints, name='explore-complaints'),
path('?sort_by=<str:sorting_parameter>/', views.exploreComplaints, name='explore-complaints-by-parameter'),

views.py

def exploreComplaints(request, sorting_parameter="upvotes"):
    complaints = Complaint.objects.all()
    if(sorting_parameter=="name"):
        complaints = sorted(complaints, key = lambda x : x.complaint_name)
    else:
        complaints = sorted(complaints, key = lambda x : x.complaint_upvotes, reverse = True)
    context = {'complaints':complaints}
    return render(request, 'complaints/complaints.html', context)

Параметр сортировки не работает, когда я перехожу на URL, значение sorting_parameter всегда upvotes, даже когда я перехожу на URL с ?/sort_by=name в конце. Где я ошибаюсь?

Джанго URL диспетчер не смотрит на GET или POST параметры при разрешении обработчика.

Что вам нужно, так это получить доступ к request.GET отображению в представлении: Django request get parameters

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