我有一个从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})
答案 0 :(得分:0)
使用/books/?order=asc
和def 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