订购queryset客户端,Django + TwitterBoostrap

时间:2013-01-29 01:17:03

标签: python django twitter-bootstrap django-templates

我有以下内容:

models.py

class Person(models.Model):
    full_name = models.CharField(...)
    address = models.CharField(...)

views.py

def all_persons(request):
    persons = Person.objects.all()
    return render(
        request, 
        'my_template.html', 
        {
            'persons':persons
        }
    )

my_template.html

<table class="table table-striped">
    <thead> 
    <tr> 
    <th>Person's Fullname</th>
    </tr>
    </thead> 
    <tbody>
    {% for person in persons %}
        <td>{{ person.full_name }}</td>
        <td>{{ person.address }}</td>

好的,所以代码就会在模板中显示一个无序的人员列表,当然我可以按人的名字或地址命令,我想给用户提供任何领域订购的可能性,我想要通过模板中表格的每一列上的按钮来完成此操作。例如,full_name顶部的按钮和地址顶部的按钮(如果按下任何一个按钮),则应根据按下的按钮对列表进行排序。

非常感谢您的阅读,希望您能帮助我。

编辑:我使用Twitter Boostrap 2,因此tablesorter和DataTables JS不会工作。

1 个答案:

答案 0 :(得分:1)

查看HTML表格的这个JS插件:Datatables。附带排序,过滤,分页,大量插件。很容易上手,但你可能会认为它有点臃肿。

另一种方法是让视图采用额外的参数(例如,表示字段的整数),按此字段对查询集进行排序并渲染模板。