django -table2 - изменить цвет фона для всей строки в зависимости от значения указанного столбца c - PullRequest
1 голос
/ 17 февраля 2020

Я пытался выделить всю строку таблицы с помощью пакета django -table2.

Мне удалось изменить цвет шрифта одной записи, выполнив следующие действия:

def render_MyValue(self, value, column, record):
   if record['Warning']:
       column.attrs = {'td': {'style': 'color:darkorange;'}}
   else:
       column.attrs = {'td': {'style': 'color:black;'}}
   return value

Найдите под моим классом таблицы:

class DetailedReportTable(tables.Table):
    MyValue = tables.Column(orderable=False, verbose_name='Value')
    ...
    Warning = tables.Column(orderable=False, visible=False)

Проблема в том, что я не могу найти, как установить фон строки оранжевым цветом, если Warning - True.

После do c здесь Я попробовал также следующее:

class DetailedReportTable(tables.Table):
    ...

    class Meta:
        row_attrs = { "bg-color": lambda record: "#8B0000" if record['Warning'] else "#000000" }

Но это ничего не делает ...

Как изменить цвет фона для строки, используя django -table2

1 Ответ

1 голос
/ 17 февраля 2020

То, что вы пробовали, близко, но вы просто устанавливаете атрибут "bg-color" в элементе строки html - этот атрибут не существует. Вместо этого вы хотите установить класс, стиль которого вы можете задать в CSS, или напрямую задать атрибут стиля. Вот второй вариант:

class DetailedReportTable(tables.Table):
    ...

    class Meta:
        row_attrs = { "style": lambda record: "background-color: #8B0000;" if record['Warning'] else "background-color: #000000;" }
...