Django 管理列表视图:按字段值添加行的 CSS 类

pom*_*pom 5 css python django django-admin

型号示例:

class Article(models.Model):
    is_published = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将“is_published”css 类添加到 Django 管理列表视图中的所有显示 is_published==True 对象的行?

ZZY*_*ZZY 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')
Run Code Online (Sandbox Code Playgroud)

参考:Django列表显示

  • 谢谢,但这还不够。我需要突出显示整行(例如 row1 和 row2 类) (7认同)