【问题标题】:django-tables2 doesn't sortdjango-tables2 不排序
【发布时间】:2012-07-04 14:13:12
【问题描述】:

无法对 django-tables2 表进行排序。

class MyModel(models.Model):
    pid = models.AutoField('id',primary_key = True)
    name = models.CharField(max_length = 255,
                            help_text='The name')
def show_mymodels(request):
    """ the view """
    table = MyModelTable(MyModel.objects.all())
    return render(request,'mymodel.html',{'table':table})

class MyModelTable(tables.Table):
    class Meta:
        model = MyModel
        orderable = True

而 mymodel.html 如下所示:

{% load render_table from django_tables2 %}
{% render_table table %}

这会使表格正确,但在浏览器中单击列时没有任何反应。除了 urld 更改 http://127.0.0.1:8000/show_mymodel --> http://127.0.0.1:8000/show_mymodel?sort=name

我做错了什么?

【问题讨论】:

    标签: python python-2.7 django-tables2


    【解决方案1】:

    您需要RequestConfig 对象,如tutorial 中所述:

    使用RequestConfig 会自动从request.GET 中提取值并相应地更新表。这可以实现数据排序和分页。


    from django_tables2 import RequestConfig
    
    def show_mymodels(request):
        table = MyModelTable(MyModel.objects.all())
        RequestConfig(request).configure(table)
        return render(request, 'mymodel.html', {'table': table})
    

    【讨论】:

    • 太棒了!我已经浏览了几次文档,但只是在订购中。我已经在提到它的下方使用了那个订购链接。我不明白我是怎么错过的。
    • @giZm0 :有趣的是到目前为止我从未使用过 django-tables(但我肯定会在我们的新大项目中使用它),只是用谷歌搜索它,答案就是在 FineManual 的第一页 .
    • @bruna desthuilliers:好吧,如果我至少可以为咖啡机坏了或其他什么感到难过,但我没有任何借口。关于表2;我不能说我用过很多次,这很明显,但到目前为止我所看到的是,它很简洁,而且是一个非常好的工具!
    • 令我惊讶的是,现在这不包含在文档中。对我来说,它解决了我的问题,现在它可以工作了。这让我觉得他们删除它是因为默认情况下应该可以工作,但不是
    • 他们已经从实际教程中删除了这个提示(2022 年 1 月)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多