Django上升/下降列表的逆序

时间:2015-08-29 21:29:57

标签: django django-views

我有一个从html文件调用的函数来订购我的书籍列表。单击html文件中的按钮后,调用book_list_title,我想将顺序从降序转换为升序,反之亦然,但我不知道如何执行此操作。

def book_list_title(request):

    if( /* Ordered descending switch to ascending */):
        all_entries = Book.objects.all().order_by('-title')

    else if( /* Ordered in reverse then switch to descending */):
        all_entries = Book.objects.all().order_by('title')

    books_list=[]

    //Do stuff to create a proper list of books

    return render(request,'books_app/books_list.html', {'books_list':books_list})

1 个答案:

答案 0 :(得分:0)

使用/books/?order=ascdef book_list_title(request): order = request.GET.get('order', 'desc') all_entries = Book.objects.all() if(order == 'desc'): all_entries = all_entries.order_by('-title') elif(order == 'asc'): all_entries = all_entries.order_by('title')

等地址

在你的视图中处理这个标志:

order

您还可以将{% if order == 'desc' %}/books/?order=asc{% else %}/books/?order=desc{% endif %} 变量传递到模板中,并依赖于它在链接中显示顺序方向

@Singleton