Django-tables2:更改列标题中显示的文本

Sim*_*haw 7 django django-tables2

我正在使用MySQL视图(Create View as Select ...)并已成功管理以将视图连接到这样的模型:

#models.py
class Dashboard(models.Model):
    devenv = models.CharField(max_length=30, primary_key=True)
    numberofissues = models.BigIntegerField()
    class Meta:
        managed=False
        db_table = 'stability_dashboard'
Run Code Online (Sandbox Code Playgroud)

我还设法使用示例中的样板代码在表格中显示数据:

#tables.py
class DashboardTable(tables.Table):
    class Meta:
        model = Dashboard
        attrs = {'class': 'paleblue'}

#views.py
def dashboard(request):
    table = DashboardTable(Dashboard.objects.all())
    RequestConfig(request).configure(table)
    return render(request, 'uptime/dash.html', {'table': table})
Run Code Online (Sandbox Code Playgroud)

我现在想将每列中显示的标题更改为更容易理解的内容,包括空格,例如,而不是'devenv'=>'开发环境'

Ser*_*eim 11

只需在tables.py中添加要覆盖其名称的列.例如

#tables.py
import django_tables2 as tables
from models import Dashboard

class DashboardTable(tables.Table):
  devenv = tables.Column(verbose_name= 'Development Environment' )

  class Meta:
    model = Dashboard
    attrs = {'class': 'paleblue'}

另一个(可能更干的)解决方案是保留tables.py,并在模型定义中添加verbose_name:

#models.py
class Dashboard(models.Model):
    devenv = models.CharField(max_length=30, primary_key=True, verbose_name='Development Environment')
    numberofissues = models.BigIntegerField(verbose_name='Number of Issues')
    class Meta:
        managed=False
        db_table = 'stability_dashboard'