Question: Where do I edit my django code to change the background color of individual cells based on business logic?
In my views.py I have logic that captures the max value of column 'pts':
def show_teams(request):
reg = Teamoffense.objects.filter(~Q(rk='RK'))
pts = Teamoffense.objects.filter(~Q(pts='PTS')).values('pts')
seq = [item['pts'] for item in pts]
maxseq = max(seq)
table = SimpleTable(reg)
table_to_report = RequestConfig(request).configure(table)
if table_to_report:
return create_report_http_response(table_to_report, request)
return render(request, 'index.html', {
'table': table,
'reg': reg,
'maxseq': maxseq,
})
How can I render any cell with the max value in that column a bgcolor = 'green'? I currently have a simple table that displays like so:
class SimpleTable(TableReport):
class Meta:
model = Teamoffense
exclude = ("column1","column2")
exclude_from_report = ("column1","column2")
attrs = {'class': 'paleblue'}
After more research looking into the Django-Tables2 API Docs I found that the Table.render_foo methods is what was needed in my case. This changes how the column is rendered. Make sure to set the column.attrs and not self.attrs because in my experience this is how I was able to set the individual cell style.