Как сортировать столбцы таблицы с помощью кнопки в Django

#javascript #python #django #django-views #django-templates

#javascript #python #django #django-представления #django-шаблоны

Вопрос:

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

 def index(request):
    slist = Stock.objects.all()
    paginator = Paginator(slist, 20)
    page = request.GET.get('page')
    slist = paginator.get_page(page)
    template = loader.get_template('stocks/screener.html')
    context = {
        'slist': slist,
    }
    return HttpResponse(template.render(context, request))
  

Что мне делать??

Ответ №1:

используйте функцию «order_by»:

 def index(request):
    sort_column = request.GET.get('sort_by', 'default_column_name')
    slist = Stock.objects.all().order_by(sort_column)
    <other codes>
  

Комментарии:

1. Это не решит мою проблему. Я хочу сделать это с помощью кнопки

2. при нажатии кнопки измените страницу на: http://<yourdomain>/<path>/?sort_by=<имя_колонки> замените <имя_колонки> именем столбца, по которому вы хотите отсортировать свои данные. конечно, это не лучший способ сделать это. (лучшим способом было бы предоставить REST api для интерфейса для динамической загрузки данных)