订购客户端的查询集

订购客户端的查询集

我有以下内容:

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顶部的按钮和address顶部的按钮,则应按所按下的按钮对列表进行排序。

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

编辑:我使用Twitter Boostrap 2,所以tablesorter和DataTables JS将无法工作。

最佳答案

查看此JS插件的HTML表:Datatables。带有排序,过滤,分页和许多插件。易于入门,但您可能认为它有点肿。

另一种方法是让视图接受一个额外的参数(例如,一个整数表示一个字段),按此字段对queryset排序并呈现模板。

关于python - 订购客户端的查询集,Django + TwitterBoostrap,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14574111/

10-10 23:06