django-tables2排除&字段不起作用

Sup*_*ess 1 django django-tables2

我是django的新手,并且通过创建我的第一个站点而绊脚石。我正在使用django-tables2显示一个表,它似乎正在工作(该表显示出来,可以排序)。

除了我似乎无法自定义任何内容。排除,字段和顺序不起作用。无法更改列详细名称。

表:

import django_tables2 as tables
from sl_overview.models import DailyslSumm

class slsummTable(tables.Table):

    class Meta:
        model = DailyslSumm
        exclude = ('index')
Run Code Online (Sandbox Code Playgroud)

视图:

class sl_summ(SingleTableView):

    model = DailyslSumm
    context_object_name = 'slsummdb'
    table_class = slsummTable
Run Code Online (Sandbox Code Playgroud)

模板:

{% load render_table from django_tables2 %}
{% render_table slsummdb %}
Run Code Online (Sandbox Code Playgroud)

上面的代码中的排除无效。该列仍然在那里。使用字段也不会调整列。我确定我缺少简单的东西,感谢您的帮助。

Jie*_*ter 5

您必须确保exclude是一个元组(或列表),而不是字符串。如果将括号与一个字符串一起使用,则结果值将是一个字符串,而不是您可能期望的元组:

Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
>>> ('foo')
'foo'
>>> ('foo', )
('foo',)
>>> 
Run Code Online (Sandbox Code Playgroud)

对于您的情况,应在此后添加一个逗号'index'

class slsummTable(tables.Table):

    class Meta:
        model = DailyslSumm
        exclude = ('index', )  # <- note the extra comma here
Run Code Online (Sandbox Code Playgroud)