Django projemde hangi sütunların dinamik olduğunu ve veritabanında ne olduğuna bağlı olması gerektiğini görmem gerekiyor. Bu yüzden here'da bir çözüm buldum ve küçük bir sorunla çalışıyor. Böyle views.py bir tablo yaratıyorumDjango-tables2 - tabloya dinamik olarak sütun ekleme - tablo etiketine eklenmiyor html
def define_table(roles):
attrs = dict((r.name, tables.Column() for r in roles)
klass = type('DynamicTable', (ClientsTable,), attrs)
return klass
: Burada
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
Ve sınıfını genişleten yöntem olup: İşte dinamik uzatıyorum bir tabloyla sınıf var: Her zaman istediğim gibi
table = define_table(roles)(queryset)
tablo sütunları gösterir, ancak html kodu ben attrs gözardı görüyoruz:
{"class": "paleblue", "orderable":"True", "width":"100%"}
Bu yüzden, benim için önemli olan paleblue için css stili yok. Meta sınıfı ile bir şey olabileceğini hissediyorum, ancak alanlar ve model çalışıyor, bu yüzden neden attrs bir fikrim yok.
Güzel şeyler:
adresinden API belgelerine bakın! Sorunumu tam olarak ele almadım, ancak sorunumu çözmek için pasajınızı değiştirebilir ve Python türünü ve meta sınıfı eylemi hakkında çok şey öğrendim. Bir demet! – schwobaseggl
Yardım ettim sevindim! Http://spapas.github.io/category/django.html: Blogumda yazı ile çeşitli şeyler yazdım. – Serafeim