根据字段的值设置字段的背景颜色

Posted

技术标签:

【中文标题】根据字段的值设置字段的背景颜色【英文标题】:Set background color for a field depending on its value 【发布时间】:2011-02-19 13:09:20 【问题描述】:

我有一个Customer 表,这里的字段之一是Status....我想根据它的值设置包含此字段的单元格的背景颜色,例如状态为绿色“关闭”;黄色表示状态“待定”等。

最好的方法是什么...如果将来需要,可能会很容易修改?

【问题讨论】:

您能否将Status 值作为单元格上的类并根据需要使用CSS 对其进行着色? 【参考方案1】:

在您的 css 为 td 创建类如下,考虑到您希望在 html 表中显示您的客户表信息,

td.closed color: green; 
td.pending color: yellow; 

现在在您的模板上,您可以在 html 表和 td 上循环您的数据库表,您可以按如下方式调用 css:

<td class=" status|lower "> status </td>

希望有帮助

【讨论】:

【参考方案2】:

上次我做这样的事情时,我枚举了必须翻译成其他语言的雕像的值,所以我不能依赖于 CSS 中作为类的 status 的字符串值,所以我像这样使用 choices :

在您的models.py 中定义choices

class SomeModel(models.Model):
    STATUS_CHOICES = (
       (1, _('Pending')),
       (2, _('Closed')),
    )
    status = models.IntegerField(choices=STATUS_CHOICES)

HTML 看起来像这样:

<td class="color_ model_instance.status ">
     model_instance.status.get_status_display 
</td>

你的 CSS 应该类似于:

td.color_1 color: green; 
td.color_2 color: yellow; 

基本上您可以在不更改 CSS 的情况下更改状态字符串值,例如,如果状态是通过外键连接的枚举值,也可以这样做。还有其他方法可以做到,但在大多数情况下,mmrs151 给出的答案是最简单且足够的。

【讨论】:

以上是关于根据字段的值设置字段的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

仅为输入字段设置背景颜色 选择选项列表

是否可以为表单中的文本字段提供背景颜色?

如何根据背景颜色自动更改视图的透明颜色

SwiftUI Textfield - 如何在编辑模式下设置文本字段的背景颜色以清除

如何根据 s-s-rS 中单独字段的值有条件地格式化整行的文本颜色?

如何根据另一列设置熊猫数据框背景颜色