1

mako テンプレートを使用して、テーブル内のリストに情報を返すフォームを作成しました。テンプレートとビュー内で、リスト名がクリックされたときに AZ からアルファベット順にリストを並べ替えるように設定しました。

問題は、もう一度クリックするとZaから注文できるようにしたいということです。これが私の見解です:

    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>

これを機能させる方法に関するアイデア

4

3 に答える 3

0

テーブルソーターはどうですか?

<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(); 
} ); 
于 2013-08-23T20:27:29.573 に答える
0

「sort_direction」などと呼ばれる、並べ替えハイパーリンクのクエリ文字列用の追加の変数を作成する必要があると思います。sort href がクリックされると、ビューはその変数を「desc」に設定してテンプレートに渡すことができます。次に、ビューが再びそれを受け取り、GET 変数に「desc」が表示されたら、Django の ORM から順序を逆にすることができます。

ppl = People.objects.order_by('-var')

于 2013-08-23T14:51:18.210 に答える