Django Admin 列表视图:按字段值为行添加 CSS 类
示例模型:
class Article(models.Model):
is_published = models.BooleanField(default=False)
有没有简单的方法可以在Django的管理界面列表视图中,给所有显示is_published为True的对象的行添加一个叫“is_published”的CSS类?
1 个回答
2
我不太确定这是不是你想要的。下面这个例子会把所有“is_published”字段的内容用红色字体显示出来,前提是“is_published==True”。
class Article(models.Model):
is_published = models.BooleanField(default=False)
def colored_is_published(self):
if self.is_published:
cell_html = '<span style="color: red;">%s</span>'
else:
cell_html = '<span>%s</span>'
# for below line, you may consider using 'format_html', instead of python's string formatting
return cell_html % self.is_published
colored_is_published.allow_tags = True
class ArticleAdmin(admin.ModelAdmin):
list_display = (......, 'colored_is_published')
参考资料:Django 列表显示