Django-tables2 – динамическое добавление столбцов в таблицу – не добавление атрибутов в тег таблицы в htmlPython

Программы на Python
Anonymous
Django-tables2 – динамическое добавление столбцов в таблицу – не добавление атрибутов в тег таблицы в html

Сообщение Anonymous »

В моем проекте Django мне нужны таблицы, столбцы которых являются динамическими и зависят от того, что находится в базе данных. Итак, я нашел решение здесь, и оно работает, но с небольшой проблемой. Вот класс с таблицей, которую я расширяю динамически:

Код: Выделить всё

class ClientsTable(tables.Table):
class Meta:
model = Client
attrs = {"class": "paleblue", "orderable":"True", "width":"100%"}
fields = ('name',)

def __init__(self, *args, **kwargs):
super(ClientsTable, self).__init__(*args, **kwargs)
self.counter = itertools.count()

def render_row_number(self):
return '%d' % next(self.counter)

def render_id(self, value):
return '%s' % value
А вот метод, расширяющий класс:

Код: Выделить всё

def define_table(roles):
attrs = dict((r.name, tables.Column() for r in roles)
klass = type('DynamicTable', (ClientsTable,), attrs)
return klass
Когда я создаю таблицу в view.py следующим образом:

Код: Выделить всё

table = define_table(roles)(queryset)
В таблице показаны такие столбцы, как я хотел, но в html-коде я вижу, что атрибуты игнорируются:

Код: Выделить всё

{"class": "paleblue", "orderable":"True", "width":"100%"}
Поэтому для бледно-голубого цвета не существует стиля CSS, что для меня важно.
Я чувствую, что это может быть что-то с мета-классом, но поля и модель работают, поэтому я понятия не имею, почему атрибуты не работают.

Подробнее здесь: https://stackoverflow.com/questions/166 ... s-to-table

Вернуться в «Python»