Python 从模板排序(Django)列表

Python 从模板排序(Django)列表,python,django,Python,Django,我创建了一个表单,它使用mako模板将信息返回到表中的列表中。我已经将其设置为在模板和视图中单击列表名称时按字母顺序从A-Z排列列表 问题是,如果再次单击,我希望能够从Z-a订购。 以下是我的看法: def people(request): sort = request.GET.get('sort','') if sort != '': var = sort ppl = People.objects.ord

我创建了一个表单,它使用mako模板将信息返回到表中的列表中。我已经将其设置为在模板和视图中单击列表名称时按字母顺序从A-Z排列列表

问题是,如果再次单击,我希望能够从Z-a订购。 以下是我的看法:

    def people(request):

        sort = request.GET.get('sort','')
        if sort != '':
            var = sort
            ppl = People.objects.order_by(var)
    else:
        ppl = People.objects.all()
还有我的template.mako:

    <table class="table overview-table table-hover" id="people">
      <thead>
        <tr>
          <th><a href="${self.util.reverse('view_people')}?sort=first_name">First Name</th>
          <th><a href="${self.util.reverse('view_people')}?sort=surname">Last name</th>

        </tr>
      </thead>

关于如何使其工作的任何想法

我想说,使用它来显示任何表格。它具有内置功能,当用户单击列标题时,可以按任意列进行排序。它的功能非常全面,使用起来比重新发明轮子容易得多

我认为您必须为排序超链接的查询字符串创建一个附加变量,称为sort\u direction之类的变量。单击sort href后,视图可以将该变量设置为desc并将其传递到模板中。然后,当视图再次收到它并在GET变量中看到desc时,您可以从Django的ORM中反转顺序:

ppl=人.对象.按'-var'排序怎么样


我在查看Django表2,但不幸的是,项目经理不想在这个项目中使用它
<script type="text/javascript" src="/path/to/jquery-latest.js"></script> 
<script type="text/javascript" src="/path/to/jquery.tablesorter.js"></script>

$(document).ready(function() 
{ 
    $("#myTable").tablesorter(); 
} );