我应该使用单表视图吗?

Should I use singletableview?

我正在学习 Django tables。我先写了一个基本的例子,这里是我的看法:

def people1(request):
    table = PersonTable(Person.objects.filter(id=2))
    RequestConfig(request).configure(table)
    return render(request, 'people.html', {'table': table})

这样我就可以很容易地显示 table 和过滤条件 "filter(id=2))"。

之后我发现 SingleTableView 这应该是显示数据库 tables 的一种更简单的方法,例如我写了这个视图,效果很好:

from django_tables2 import SingleTableView
class PersonList(SingleTableView):
    template_name = 'ta07/comun.html'
    model = Person
    table_class = PersonTable

问题是:我应该如何像第一个示例那样应用过滤器? SingleTableView 比基本方法好吗?

我现在要说的是,您应该只将它用于非常基本的用例。一旦您需要自定义,请使用您自己的。

由于过滤是一个非常常见的用例,我可能会考虑在某个时候将其添加到 SingleTableView 的功能中。如果您在此之前需要它,请随时打开一个pull request